网络编程基本理论知识

一、ISO/OSI参考模型
1、 OSI(open system interconnection)开放系统互联模型是由ISO(InternationalOrganization for Standardization)国际标准化组织定义的网络分层模型,共七层。

2、 物理层(PhysicalLayer):物理层定义了所有电子及物理设备的规范,为上层的传输提供了一个物理介质,本层中数据传输的单位为比特(bit)。属于本层定义的规范有EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等,实际使用中的设备如网卡等属于本层。
数据链路层(DataLink Layer):对物理层收到的比特流进行数据成帧。提供可靠的数据传输服务,实现无差错数据传输。在数据链路层中数据的单位为帧(frame)。属于本层定义的规范有SDLC、HDLC、PPP、STP、帧中继等,实际使用中的设备如switch交换机属于本层。
网络层(NetworkLayer):网络层负责将各个子网之间的数据进行路由选择,分组与重组。本层中数据传输的单位为数据包(packet)。属于本层定义的规范有IP、IPX、RIP、OSPF、ICMP、IGMP等。实际使用中的设备如路由器属于本层。
传输层(TransportLayer):提供可靠的数据传输服务,它检测路由器丢弃的包,然后产生一个重传请求,能够将乱序收到的数据包重新排序。
会话层(SessionLayer):管理主机之间会话过程,包括会话建立、终止和会话过程中的管理。
表示层(PresentationLayer):表示层对网络传输的数据进行变换,使得多个主机之间传送的信息能够互相理解,包括数据的压缩、加密、格式转换等。
应用层(ApplicationLayer):应用层与应用程序界面沟通,以达至展示给用户的目的。在此常见的协定有: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等

二、TCP/IP四层模型
网络接口层——>网际层——>传输层——>应用层

三、IP数据报格式
1. 版本
a) IP协议版本号,长度为4位,IPv4此字段值为4,IPv6此字段值为6
2. 首部长度
a) 以32位的字为单位,该字段长度为4位,最大值为15,所以首部长度最大为60个字节
3. 服务类型(TOS)
a) 长度为8位。此字段包含3位的优先权(现已忽略),4位的服务类型子字段和1位的保留位(必须置0)。4位的服务类型分别为最小延迟(D)、最大吞吐量(T)、最高可靠性(R)、最小费用(F)。
4.
5. 总长度
a) 该字段长度为16位,以字节为单位,该字段长度包含IP的头部和数据部分。IP数据报最大可达65535个字节。
6. 标识
a) 16位标识,用来标识一个IP包,每发送一个此值会加1
7. 标志与片偏移
a) 3位标志其中第一位不使用, 每二位DF(Don’tFragment),该位如果为1,如果传输的数据报超过最大传输单元,该数据报会被丢弃,并发送一个ICMP差错报文。第三位MF(More Fragment)表示是否有更多的片,该位为1,说明后续有分片。最后一片MF为0。
b) IP分片后每一个分组都具有自己的首部,但是片偏移值不同,通过片偏移值接收端可以重新组装IP包。
8. TTL
a) TTL(Time To Live)表示数据报最多可经过的路由器的数量。数据报每经过一个路由器,TTL减1,减为0时丢弃,并发送ICMP报文通知源主机。TTL可以避免数据报在路由器之间不断循环。
9. 协议类型
a) 表示IP层上承载的是哪个高级协议。在封装与分用的过程中,协议栈知道该交给哪个层的协议处理。1 ICMP 2 IGMP 6 TCP 17 UDP
10. 头部校验和
a) 保证数据报头部的数据完整性,但校验不包括数据部分。这样做的目的有二:一是所有将数据封装在IP数据包中的高层协议均含有覆盖整个数据的校验和,因此IP数据报没有必要再对其所承载的数据部分进行校验。二是每经过一个路由器,IP数据报的头部要发生改变,而数据部分不变,这样只对发生改变的头部进行校验,显然不会浪费太多的时间。为了减少计算时间,一般不用CRC校验码,而是采用更简单的网际校验和。
11. TTL
a) TTL(Time To Live)表示数据报最多可经过的路由器的数量。数据报每经过一个路由器,TTL减1,减为0时丢弃,并发送ICMP报文通知源主机。TTL可以避免数据报在路由器之间不断循环。
12. 协议类型
a) 表示IP层上承载的是哪个高级协议。在封装与分用的过程中,协议栈知道该交给哪个层的协议处理。1 ICMP 2 IGMP 6 TCP 17 UDP
13. 头部校验和
a) 保证数据报头部的数据完整性,但校验不包括数据部分。这样做的目的有二:一是所有将数据封装在IP数据包中的高层协议均含有覆盖整个数据的校验和,因此IP数据报没有必要再对其所承载的数据部分进行校验。二是每经过一个路由器,IP数据报的头部要发生改变,而数据部分不变,这样只对发生改变的头部进行校验,显然不会浪费太多的时间。为了减少计算时间,一般不用CRC校验码,而是采用更简单的网际校验和。
14. 源IP地址
a) 发送数据的主机IP地址
15. 目的IP地址
a) 接收数据的主机IP地址
16. 选项与填充(选项为4字节整数倍,否则用0填充)
a) 安全和处理限制
b) 路径记录:记录所经历路由器的IP地址
c) 时间戳:记录所经历路由器的IP地址和时间
d) 宽松源站路由:指定数据报文必须经历的IP地址,可以经过没有指定的IP地址。
e) 严格的源站路由:指定数据报文必须经历的IP地址,不能经过没有指定的IP地址。

四、TCP特点、
基本于字节流
面向连接
可靠传输
缓冲传输
全双工
流量控制

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值