9.1.2 TCP/IP
Transmission Control Protocol/Internet Protocol; 1. TCP/IP协议介绍 TCP/IP(又称TCP/IP协议簇)是一组用于实现网络互连的通信协议,其名称来源于该协议簇中两个重要的协议(IP协议和TCP协议)。基于TCP/IP的参考模型将协议分成四个层次,它们分别是网络
Transmission Control Protocol/Internet Protocol;
1. TCP/IP协议介绍
TCP/IP(又称TCP/IP协议簇)是一组用于实现网络互连的通信协议,其名称来源于该协议簇中两个重要的协议(IP协议和TCP协议)。基于TCP/IP的参考模型将协议分成四个层次,它们分别是网络接口层、网际互连层(IP层)、传输层(TCP层)和应用层。图17-4画出了TCP/IP模型以及该模型与OSI模型各层的对照关系。
图17-4 OSI模型与TCP/IP模型对照图
① 网络接口层:网络接口层与OSI参考模型中的物理层和数据链路层相对应。
② 网际互联层:网际互联层对应于OSI参考模型的网络层,主要解决主机到主机的通信问题。该层有四个主要协议:网际协议(IP)、地址解析协议(ARP)、互联网组管理协议(IGMP)和互联网控制报文协议(ICMP)。IP协议是网际互联层最重要的协议,它提供的是一个不可靠、无连接的数据报传递服务。
③ 传输层:传输层对应于OSI参考模型的传输层,为应用层实体提供端到端的通信功能。该层定义了两个主要的协议:传输控制协议(TCP)和用户数据报协议(UDP)。TCP协议提供的是一种可靠的、面向连接的数据传输服务;而UDP协议供的是不可靠的、无连接的数据传输服务。
④ 应用层:应用层对应于OSI参考模型的会话层、表示层和应用层,为用户提供所需要的各种服务,例如FTP、Telnet、DNS、SMTP等。
2. OSI模型与TCP/IP模型比较说明
(1)OSI模型与TCP/IP模型比较说明
OSI引入了服务、接口、协议、分层的概念,TCP/IP借鉴了OSI的这些概念建立TCP/IP模型。OSI先有模型,后有协议,先有标准,后进行实践;而TCP/IP则相反,先有协议和应用再提出了模型,且是参照的OSI模型。OSI太复杂,TCP/IP简单却并不全面。OSI花了很长时间进行标准化,与此同时,TCP/IP已被广泛使用,已成为网络互联事实上的标准。
(2)OSI模型与TCP/IP模型
表17-1列出了OSI模型与TCP/IP模型的协议对照及协议说明。
表17-1 OSI模型与TCP/IP模型协议对照表
OSI中的层 |
功能 |
TCP/IP协议簇 |
应用层 |
文件传输,电子邮件,文件服务,虚拟终端 |
TFTP、HTTP、SNMP、FTP、SMTP、DNS、Telnet |
表示层 |
数据格式化,代码转换,数据加密 |
没有协议 |
会话层 |
解除或建立与别的接点的联系 |
没有协议 |
传输层 |
提供端对端的接口 |
TCP、UDP |
网络层 |
为数据包选择路由 |
IP、ICMP、OSPF、BGP、IGMP 、ARP、RARP |
数据链路层 |
传输有地址的帧以及错误检测功能 |
SLIP、PPP、MTU |
物理层 |
以二进制数据形式在物理媒体上传输数据 |
ISO2110、IEEE802、IEEE802.2 |
3. TCP/IP通信过程图
下图17-5画出了两台主机通过TCP/IP协议的通信过程,其中应用层使用的是FTP协议。除物理层是实际传输数据的,其他对等层只是虚拟通信(所以画的是虚线),对等层一般需要遵照相同的协议。上层传输数据只与相邻上下层有关系。TCP及以下层是由操作系统内核实现,是处理通信细节。而应用层程序是通过socket编程实现的,处理的是应用程序细节。
图17-5 TCP/IP通信过程图
4. TCP/IP数据包
TCP/IP数据包说明如图17-6所示。IP层传输单位是IP分组,属于点到点的传输;TCP层传输单位是TCP段,属于端到端的传输。
图17-6 TCP/IP数据包说明图
摘录自《深入浅出Linux工具与编程》

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

win10如何重置tcp/ip协议?其实方法很简单的,用户们可以直接的进入到命令提示符,然后按下ctrl+shift+enter的组合键来进行操作就可以了或者是直接的执行重置命令来进行设置,下面就让本站来为用户们来仔细的介绍一下windows10重置tcp/ip协议栈的方法吧。windows10重置tcp/ip协议栈的方法一、管理员权限1、我们使用快捷键win+R直接打开运行窗口,然后输入cmd并按住ctrl+shift+enter的组合键。2、或者我们可以直接在开始菜单中搜索命令提示符,右键点

TCP是计算机网络通信协议的一种,是一种面向连接的传输协议。在Java应用开发中,TCP通信被广泛应用于各种场景,比如客户端和服务器之间的数据传输、音视频实时传输等等。Netty4是一个高性能、高可扩展性、高性能的网络编程框架,能够优化服务器和客户端之间的数据交换过程,使其更加高效可靠。使用Netty4进行TCP通信的具体实现步骤如下:引入

那这里面提到的"面向连接",意味着需要 建立连接,使用连接,释放连接。建立连接是指我们熟知的TCP三次握手。而使用连接,则是通过一发送、一确认的形式,进行数据传输。还有就是释放连接,也就是我们常见的TCP四次挥手。

TCP客户端一个使用TCP协议实现可连续对话的客户端示例代码:importsocket#客户端配置HOST='localhost'PORT=12345#创建TCP套接字并连接服务器client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)client_socket.connect((HOST,PORT))whileTrue:#获取用户输入message=input("请输入要发送的消息:&

使用一个TCP连接发送多个文件为什么会有这篇博客?最近在看一些相关方面的东西,简单的使用一下Socket进行编程是没有的问题的,但是这样只是建立了一些基本概念。对于真正的问题,还是无能为力。当我需要进行文件的传输时,我发现我好像只是发送过去了数据(二进制数据),但是关于文件的一些信息却丢失了(文件的扩展名)。而且每次我只能使用一个Socket发送一个文件,没有办法做到连续发送文件(因为我是依靠关闭流来完成发送文件的,也就是说我其实是不知道文件的长度,所以只能以一个Socket连接代表一个文件)。

在TCP通信双方中,为了描述方便,以下将通信双方用A和B代替。根据TCP协议规定,如果A关闭连接后B继续发送数据,B会收到A的RST响应。若B继续发送数据,系统会发出SIGPIPE信号告知连接已断开,停止发送。系统对SIGPIPE信号的默认处理行为是让B进程退出。操作系统对SIGPIPE信号的这种默认处理行为非常不友好,让我们来分析一下。TCP通信是全双工信道,相当于两条单工信道,连接两端各负责一条。当对端“关闭”时,虽然本意是关闭整个两条信道,但本端只是收到FIN包。根据TCP协议的规定,当一

TCP和IP是互联网中两个不同的协议:1、TCP是一种运输层协议,而IP是一种网络层协议;2、TCP提供了数据包的分段、排序、确认和重传等功能,而IP协议负责为数据包提供源和目标地址;3、TCP是面向连接的协议,而IP协议是无连接的;4、TCP还提供流量控制和拥塞控制。

曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么?相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来的呢?
