c语言网络编程(笔记)

2019-10-17  本文已影响0人  暴君Denstiny

# 网络编程```OSI 7层网络层(1) 应用层: 最终用户接触的层次,即网络服务最接近用户的一层。(2) 表示层: 该层定义数据的表示、安全、压缩的标准和协议(3) 会话层: 该层定义了建立、管理、终止会话非相关协议(4) 传输层: 该层定义了传输数据的协议端口、流控和差错效验等相关协议(5) 网络层: 该层定义了逻辑地址寻址、实现网络之间的路径选择功能及相关的配套协议(6) 数据链路层: 改成定义了建立逻辑连接、进行硬件地址寻址、差错效验等功能及其相关的配套协议(7) 物理层: 该层定义了建立、维护、断开物理简介等功能及其相关的配套协议```————————————————————————————————————————————————```TCP/IP协议tcp/IP协议的中文全称是传输控制协议和因特网互联协议Tcp负责发现传输中的问题,一旦发现问题,就要要求重新发送,知道全部发送成功发送才算结束任务,IP就像是互联网世界的门牌号,有了门牌号,传输任务才有目的的。IP协议有两个特点;1) 不可靠:IP地址传输不能保证每个IP数据都能达到目的地,IP协议会尽量提供最好的传输服务约定。当发生错误时,IP协议就会用最简单的方法,丢弃数据,然后把该数据端源发送给ICMP消息报,告知错误,要求重新传输。//ICMP协议是TCP/IP的子协议,用于在主机和用户之间传递控制消息。消息指:网络不通,主机是否可达,路由器是否可用网络等。2) 无连接: 由于处理数据的数据报都是相互独立的,也就是说,IP数据报可以不按顺序接收来自信源端的数据。``````TCP协议tcp协议是传输协议最重要的协议之一,他是面向连接、保证高可靠性,即确保数据无丢失,数据无错误,数据误失序、数据无重复到达的协议。tcp头包含了丰富的内存。1)端口号。端口号栈16位。在操作系统中,当数据到达时,就需要根据端口号来确定交给那个进程。tcp头信息中存放了源端口号和目标端口号。源端口号标记了接收端口号的进程。2)序号。 序号占32位,分为发送序号和确认序号。发送序号:用来表示从源端口到目的端口的字节流序号。确认序号:用来表示发送确认端所期望收到的下一个顺序的字节流序号。3)偏移。偏移字段占4位,用来表示包含他的用户数据是从哪里开始的。4)保留位。保留为是为以后的功能扩展预的位,占4位,目前尚未使用。5)标志位。标志位占6位,其表示的意义如下:URG 进制指针有效SYN 用来发起一个链接FIN 发送端完成发送任务,即可以断开链接RDT 断开一个链接ACK 确认序号为有效PSH 接收方立即将该报文段交给应用层6)窗口大小。该字段占16位,表示客户接收的字节数。7)效验和。该字段占16位。这是一个强制性的手段,由发送端计算和存储,验证后交给接收端。8)紧急指针。该字段占16位,当且仅当URG标志位1时,该指针才有效。9)tcp选项。该字段时可选的。```

上一篇下一篇

猜你喜欢

热点阅读