UNIX环境高级编程——网络基础概念

摘要:
1.用于网络传输中的错误的传输控制协议TCP2,以及专门负责不同网络互连的互联网协议IP网络架构概念:网络架构是指网络的分层结构和每层使用的协议集合OSI:TCP/IP结构TCP/IP协议下的数据包:高效数据传输)TCP传输UDP传输端口号(用无符号短表示)*TCP和UDP端口号相对独立。数据的低位存储在存储器的低位地址中。
TCP协议分成两个不同的协议:
1、网络传输中差错的传输控制协议TCP
2、专门负责对不同网络进行互联的互联网协议IP

网络体系结构概念:
网络体系结构即是指网络的层次结构和每层所使用协议的集合

OSI:(Open System Interconnect Reference Model)
ISO:国际标准化组织(International Standardization Organization)
TCP/IP:(传输控制/网络通讯协定:Transmission Control Protocol / Internet Protocol)

UNIX环境高级编程——网络基础概念第1张


TCP/IP协议族
常用协议:
UNIX环境高级编程——网络基础概念第2张


TCP/IP通信模型(图解)
UNIX环境高级编程——网络基础概念第3张

数据封装与转发(图解)
UNIX环境高级编程——网络基础概念第4张

数据打包和数据解包(图解):

UNIX环境高级编程——网络基础概念第5张
UNIX环境高级编程——网络基础概念第6张

TCP/IP结构
UNIX环境高级编程——网络基础概念第7张

TCP/IP协议下的数据包:
UNIX环境高级编程——网络基础概念第8张


TCP和UDP
TCP:面向连接、可靠(数据无误,无丢失,无失序、无重复,高可靠的数据传输)
UDP:无连接、不可靠(发送数据前,无需连接,高效率的数据传输)

TCP传输

UNIX环境高级编程——网络基础概念第9张

UDP传输

UNIX环境高级编程——网络基础概念第10张



端口号(用unsigned short表示)
*TCP和UDP端口号相对独立。

端口号分配:
保留端口:1-255
unix占用:256-1023
注册的端口:1024-5000
其他端口:5001-65535

套接字和端口:
UNIX环境高级编程——网络基础概念第11张


网络通信三元:IP,端口,协议

字节序:
小端:所谓的小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。
大端:所谓的大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放

图解字节序:
UNIX环境高级编程——网络基础概念第12张


网络字节序(NBO-Network Byte Order
网络上通用 Big Endian(大端),低字节先传输。
主机字节序(HBO-Host Byte Order

................................................................................

Socket()简介:
1、是一个编程接口。
2、特殊的文件描述符(everything in Unix is a file)。
3、不局限于TCP/IP协议。
4、支持面向连接和无连接

分类:
1、流失套接字(SOCK_STREAM):提供可靠的、面向连接的通讯流,使用TCP协议。
2、数据报套接字(SOCK_DGRAM):无连接的服务,数据通过相互独立的报文传输,是无序的,使用UDP协议。
3、原始套接字(SOCK_RAW):允许使用IP协议、ICMP协议,用于新的网络协议测试。(*网络层)。
Socket()位置:
UNIX环境高级编程——网络基础概念第13张

流程图
UNIX环境高级编程——网络基础概念第14张



IP地址分类

 A
  • 第一字节为网络地址,余下三位为主机地址。
  • 第一字节最高位为0
  • 范围:1.0.0.1 - 126.255.255.255。
  • 10.0.0.0 - 10.255.255.255私有地址,用于局域网。
  • 127.0.0.1 - 127.255.255.255是保留地址,用于循环测试
  • 0.0.0.0 - 0.255.255.255 保留地址,用于表示所有的IP地址

B
  • 第一、二字节为网络地址,其他两字节为主机地址。
  • 第一字节前两位为10
  • 范围:128.0.0.1 - 191.255.255.255

C
  • 前三个字节是网络地址,最后一个地址是主机地址。
  • 第一个字节的前三位为110
  • 范围:192.0.0.1 - 223.255.255.255

D
  • 组播地址不区分网络地址和主机地址
  • 第一字节前4位为1110
  • 范围:224.0.0.1 - 239.255.255.255
  • 224.0.0.0 - 224.0.0.25保留地址







免责声明:文章转载自《UNIX环境高级编程——网络基础概念》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇iPhone应用开发视频教程斯坦福大学公开课BugReport-智慧农业APP下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

LZO

LZO 是致力于解压速度的一种数据压缩算法,LZO 是 Lempel-Ziv-Oberhumer 的缩写。这个算法是无损算法,参考实现程序是线程安全的。 实现它的一个自由软件工具是lzop。最初的库是用 ANSI C 编写、并且遵从 GNU通用公共许可证发布的。现在 LZO 有用于 Perl、Python 以及 Java 的各种版本。代码版权的所有者是...

认识计算机中的大小端模式

前言 在java中java.nio包下有一个类是ByteOrder,这是什么东东,相信有很多人不知道。在我看了关于java.nio中有本书中就介绍到了。我努力的回忆我大学课本中学到过吗,好像没有。这是计算机理论方面的知识了。百度百科中就有关于“大小端模式的介绍”。猛击这里吧 大小端模式的定义 大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保...

备份与还原mysql 数据库的常用命令。

一、备份数据: Mysqldump常用命令: mysqldump -u用户名 -p密码 --databases 数据库1 数据库2 > xxx.sql 常见选项: -u: 用户名 -p: 密码 -P: 端口号,不写默认3306 --all-databases, -A:备份所有数据库 --databases, -B: 用于备份多个数据库,如果没有该选项...

id 自增------删除数据后恢复到删除前自增id

删除数据后,执行下面语句:      ALTER TBALE TableName AUTO_INCREMENT=1 mysql删除比较 一、DROP   drop  table tablename     绝招:删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表 二、TRUNCATE   truncate tabl...

利用Windows 2003系统中实现两个网段的路由

利用Windows 2003系统中实现两个网段的路由   当一个局域网中存在两个以上网段时,分属于不同网段内的主机彼此互不可见。为了解决这个问 题,就必须在不同的网段之间设置路由器。如果花费上万元资金购买一台路由器,仅仅用于连接局域 网中的两个网段,实在不值得。其实我们完全可以利用 Windows 2003中的软路由:   软路由安装前的准备:    1...

【STM32H7教程】第13章 STM32H7启动过程详解

完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第13章       STM32H7启动过程详解 本章教程主要跟大家讲STM32H7的启动过程,这里的启动过程是指从CPU上电复位执行第1条指令开始(汇编文件)到进入C程序main()函数入口之间的部分。启动过程相对来说...