TCP/IP协议下三层协议(二)----传输层协议

1.UDP用户数据报协议
首先,说明UDP的几个主要特点:
①UDP是无连接的;
②UDP尽最大努力交付,但不保证数据可靠性;
③UDP是面向报文的;
④UDP没有拥塞控制(网络出现拥塞状况并不会导致源主机的发送速率降低);
⑤UDP支持一对一,一对多,多对一与多对多的交互通信;
⑥首部开销小;


UDP的数据段格式很简单,它的报头是定长(因此UDP协议报头信息中无需加入报头长度的信息),其报头信息包括源端口号和目的端口号,UDP整个报文长度以及UDP检验和
这里解释一下端口号的作用:对于任何一个网络进程,IP地址+端口号是他的唯一标识信息,而一般的网络通信当中,通信双方分为客户端和服务器,由我们的客户端主动发出请求,而服务器则是被动的等待,接收和应答,而正因为我们的客户端需要向服务器主动发送请求,所以它必须要知道服务器的IP地址和端口号,所以对于客户端而言,它的端口号可以是任意的,由用户端自由分配一个空闲的端口号,但对于服务器而言,它的端口号则必须是固定的,而且是被所有人所知晓的(例如:HTTP服务对应端口号80,HTTPS则对应443,FTP对应21),在使用客户端程序的时候,必须明确指定服务器IP地址与端口号(在/etc/services文件中列出了所有被众所周知的服务端口号以及其对应的传输协议)

对于UDP协议而言,这个传输协议不面向连接,也不会保证传输的可靠性,发送端只管将上层的数据报文进行封装,传给下层的IP协议,而对于接收端则只管对IP协议层发送过来的数据进行报头和有效载荷信息分离即可,至于数据包有没有丢失,接收数据的顺序对不对,UDP协议并不会处理,而这自然就得轮到上层应用层进行处理这些问题了,正因为UDP协议的这种特性,所以一般使用UDP的网络服务都比较简单,数据量少,对于数据的可靠性要求不高,与之相对的TCP协议就恰恰相反,对于可靠性有着相当的要求,正因如此也就更加复杂

2.TCP传输控制协议
首先介绍TCP的主要特点:
①TCP是面向连接的(即在应用TCP协议时操作系统会对连接进行描述,创建对应的结构体来进行维护管理连接);
②TCP是面向字节流的;
③每条TCP连接只能是一对一的;
④TCP提供全双工通信;
⑤TCP提供可靠交付的服务;

对于TCP协议的数据段格式中的报头信息:
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TCP/IP详解·卷2:实现》完整而详细地介绍了TCP/IP协议是如何实现的。书中给出了约500个图例,15000行实际操作的C代码,采用举例教学的方法帮助你掌握TCP/IP实现。《TCP/IP详解·卷2:实现》不仅说明了插口API和协议族的关系以及主机实现与路由器实现的差别。还介绍了4.4BSD-Lite版的新的特点。《TCP/IP详解·卷2:实现》适用于希望理解TCP/IP协议如何实现的人,包括编写网络应用程序的程序员以及利用TCP/IP维护计算机网络的系统管理员。 目录 · · · · · · 第一章 概述 1.1 引言 1.2 源代码表示 1.3 历史 1.4 应用编程接口 1.5 程序示例 1.6 系统调用和库函数 1.7 描述符 1.8 网络实现概述 1.9 mbuf与输出处理 1.10 输入处理 1.11 网络实现概述 1.12 中断级别与并发 1.13 源代码组织 1.14 测试网络 1.15 小结 第章 mduf:存储器缓存 2.1 引言 2.2 代码介绍 2.3 mduf的定义 2.4 mduf结构 2.5 简单的mduf宏和函数 2.6 m_devget和m_pullup函数 2.7 mduf宏和函数的小结 2.8 Net/3联网数据结构小结 2.9 m_copy和簇引用记数 2.10 其他选择 2.11 小结 第三章 接口层 3.1 引言 3.2 代码介绍 3.3 ifnet结构 3.4 ifaddr结构 3.5 sockaddr结构 3.6 ifnet与ifaddr的专用化 3.7 网络初始化概述 3.8 以太网初始化 3.9 SLIP初始化 3.10 环回初始化 3.11 if_attach函数 3.12 ifinit函数 3.13 小结 第四章 接口:以太网 4.1 引言 4.2 代码介绍 4.3 以太网接口 4.4 ioctl系统调用 4.5 小结 第五章 接口:SLIP和环回 5.1 引言 5.2 代码介绍 5.3 SLIP接口 5.4 环回接口 5.5 小结 第六章 IP编址 6.1 引言 6.2 代码介绍 6.3 接口和地址小结 6.4 sockaddr_in结构 6.5 in_ifaddr结构 6.6 地址指派 6.7 接口ioctl处理 6.8 internet实用函数 6.9 ifnet实用函数 6.10 小结 第七章 域和协议 7.1 引言 7.2 代码介绍 7.3 domain结构 7.4 protosw结构 7.5 IP的domain和protosw结构 7.6 pffindproto和pffindtype函数 7.7 pfctlinput函数 7.8 IP初始化 7.9 sysctl系统调用 7.10 小结 第八章 IP:网际协议 8.1 引言 8.2 代码介绍 8.3 IP分组 8.4 输入处理:ipintr函数 8.5 转发:ip_forward函数 8.6 输出处理:ip_output函数 8.7 Internet检验和:in_cksum函数 8.8 setsockopt和getsockopt系统调用 8.9 ip_sysctl函数 8.10 小结 第九章 IP选项处理 9.1 引言 9.2 代码介绍 9.3 选项格式 9.4 ip_dooptions函数 9.5 记录路由选项 9.6 源站和记录路由选项 9.7 时间戳选项 9.8 ip_insertoptions函数 9.9 ip_pcbopts函数 9.10 一些限制 9.11 小结 第十章 IP的分片与重装 10.1 引言 10.2 代码介绍 10.3 分片 10.4 ip_optcopy函数 10.5 重装 10.6 ip_optcopy函数 10.7 ip_slowtimo函数 10.8 小结 第十一章 ICMP:Internet控制报文协议 第十章 IP多播 第十三章 IGMP:Internet组管理协议 第十四章 IP多播选路 第十五章 插口层 第十六章 插口I/O 第十七章 插口选项 第十八章 Radix树路由表 第十九章 选路请求和选路消息 第十章 选路接口 第十一章 ARP:地址解析协议协议控制块 第十三章 UDP:用户数据报协议十四章 TCP:传输控制协议十五章 TCP的定时器 第十六章 TCP输出 第十七章 TCP的函数 第十八章 TCP的输入 第十九章 TCP的输入(续) 第三十章 TCP的用户需求 第三十一章 BPF:BSD分组过滤程序 第三十章 原始IP 结束语 附录A 部分习题的解答 附录B 源代码的获取 附录C RFC 1122的有关内容 参考文献

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值