初探-TCP/IP 协议

一、TCP/IP协议族

TCP/IP协议族体系结构及主要协议.png

1、数据链路层

ARP协议和RARP协议,它们实现了IP地址和机器物理地址之间的相互转化

  • ARP协议(Address Resolve Protocol,地址解析协议)
  • RARP协议(Reverse Address Resolve Protocol,逆地址解析协议)

作用:网络层是用IP地址寻址一台机器,而数据链路层是用物理地址寻址一台机器,因此网络层必须先将目标机器的IP地址转化成其物理地址,这就是ARP协议的用途。RARP协议仅用于网络上某些无盘工作站。因为缺乏储存设备,无盘工作站无法记住自己的IP地址。但是它们可以利用网卡上的物理地址来向网络管理者查询自身的IP地址。运行RARP服务的网络管理者通常存有该网络上有所及其得物理地址到IP地址映射。

2、网络层

ip协议和ICMP协议,它们实现了数据包的选路和转发。网络层的任务就是选择这些中间节点,已确定两台主机之间通信路径。

3、传输层

TCP协议、UDP协议和SCTP协议
传输层为两台主机上的应用程序提供端对端的通信。与网络层使用的逐跳通信方式不同,传输层只关心通信的起始端和目的端,而不在乎数据包的中转过程。

  • TCP协议,传输控制协议
  • UDP协议,用户数据报协议
  • SCTP协议,流控制传输协议

4、应用层

应用层在用户空间实现,而数据链路层、网络层和传输层处理网络通信细节,这部分必须稳定有高效,因此它们都在内核空间中实现。

4.1、传输层和网络层区别

传输层和网络层区别.png

传输层为两台主机上的应用程序提供端对端的通信。与网络层使用的逐跳通信方式不同,传输层只关心通信的起始端和目的端,而不在乎数据包的中转过程

4.2、TCP协议的特点

为应用层提供可靠的面向连接基于流的服务。TCP协议通信使用超时重传数据确定等待来确保数据包被正确地发送至目的端。因此TCP服务是可靠的。

使用TCP协议通信的双方必须先建立TCP连接,并在内核中为连接维持一些必要的数据结构,比如连接的状态读写缓冲区以及诸多定时器等。当通信结束时,双方必须关闭连接已释放这些内核数据。TCP服务时给予流的。给予流的数据没有边界限制,它源源不断地从通信的一端流入另一端。发送端可以逐个字节地向数据流写入数据,接受端也可以逐个字节地将它们读出

4.3、UDP协议的特点

为应用层提供不可靠无连接和基于据包的服务。

UDP协议无法保证数据从发送端正确的地传送到目的端。如果数据在中途丢失,或者目的端数据校验发现数据错误误将其丢弃,则UDP协议知识简单的通知应用程序发送失败,因此,使用UDP协议的应用程序通常要自己处理数据确认、超时重传等逻辑。UDP协议是无连接的,即通信双方不保持一个长久的联系,因此应用程序每一次发送数据都要指定接收方的地址。每一个UDP数据都有一个长度,就接受端必须以该长度为最小单位将其所有内容一次性读出,否则数据将被截断。

二、封装和分用

1、封装

上层协议是如何使用下层协议提供的服务的呢?其实通过封装实现的。应用程序数据在发送到无力网络上之前,将沿着协议栈从上往下依次传递。每一层协议都将在上册数据的基础上加上自己的头信息。

封装.png

  1. 经过TCP封装后的数据称TCP报文段,经过UDP封装后的数据称为UDP数据包。
  2. 经过IP封装后的数据称为IP数据报。
  3. 经过数据链路层封装后的数据称帧

2、分用

当帧到达目的的主机时,将沿着协议栈自底向上依次传递。各层协议依次处理帧中本层负责的头数据,以获取所需的信息,并最终将处理后的帧交给目的应用程序。

时间: 2024-10-05 23:36:45

初探-TCP/IP 协议的相关文章

http、TCP/IP协议与socket之间的区别

网络由下往上分为:  www.2cto.com 物理层-- 数据链路层-- 网络层--                       IP协议 传输层--                       TCP协议 会话层-- 表示层和应用层--           HTTP协议 1.TCP/IP连接 手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接.TCP协议可以对上层网络提供接口,使上层网络数据的传输建立在“无差别”的网络之上. 建立起一个TCP连

TCP/IP协议,HTTP协议

1. 协议  a. TCP/IP总体构架概述     TCP/IP协议并不全然符合OSI的七层參考模型.传统的开放式系统互连參考模型,是一种通信协议的7层抽象的參考模型,当中每一层运行某一特定任务.该模型的目的是使各种硬件在同样的层次上相互通信.这7层是:物理层.数据链路层.网路层.传输层.话路层.表示层和应用层.而TCP/IP通讯协议採用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完毕自己的需求.这4层分别为:     i.   应用层:应用程序间沟通的层,如超文本传送协议(HTTP

OSI七层模型详解 TCP/IP协议

总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,OSPF,EIGRP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,MTU 物理层 以二进制数据形式在物理媒体上

TCP/IP协议详解内容总结

TCP/IP协议 TCP/IP不是一个协议,而是一个协议族的统称.里面包括IP协议.IMCP协议.TCP协议. TCP/IP分层: 这里有几个需要注意的知识点: 互联网地址:也就是IP地址,一般为网络号+子网号+主机号 域名系统:通俗的来说,就是一个数据库,可以将主机名转换成IP地址 RFC:TCP/IP协议的标准文档 端口号:一个逻辑号码,IP包所带有的标记 Socket:应用编程接口 数据链路层的工作特性: 为IP模块发送和接收IP数据报 为ARP模块发送ARP请求和接收ARP应答(ARP:

TCP/IP协议三次握手与四次握手流程解析

原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议的详细信息参看<TCP/IP协议详解>三卷本.下面是TCP报文格式图 上图中有几个字段需要重点介绍下:   (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记.   (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1.   (3)标志位:共6个,即URG.ACK.PSH.RST

TCP/IP协议族

TCP/IP协议 TCP/IP协议栈主要分为四层:应用层.传输层.网络层.数据链路层,每层都有相应的协议,现在几乎所有的操作系统都实现了TCP/IP协议栈.如下图 上图运输层应为传输层 所谓的协议就是双方进行数据传输的一种格式.整个网络中使用的协议有很多,所幸的是每一种协议都有RFC文档.在这里只对IP.TCP.UDP协议头做一个分析. 首先来看看在网络中,一帧 以太网数据包的格式: 在Linux 操作系统中,当我们想发送数据的时候,我们只需要在上层准备好数据,然后提交给内核协议栈 , 内核协议

TCP/IP协议

为什么会有TCP/IP协议 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别.就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样.计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用.只有把它们联合起来,电脑才会发挥出它最大的潜力.于是人们就想方设法的用电线把电脑连接到了一起. 但是简单的连到一起是远远不够的,就好像语言不同的两个人互相见了面,完全不能交流信息.因而他们需要定义一些共通的东西来进行交流,TCP/IP就是

python学习笔记-Day9 (TCP/IP协议、socket)

TCP/IP协议 TCP/IP四层协议 TCP/IP概念 tcp/ip协议是主机接入互联网以及接入互联网的两台主机通信的标准. 数据帧概念 数据帧 |-- 包头 | |--源地址 | |--目标地址 | |--数据类型 | |-- 数据 socket在四层协议中的位置 socket协议的交互流程 socket初试 # 依照上socket流程图,实现一个功能,客户端输入什么,就把输入的转为大写 # soceet server import socket ip_port=('127.0.0.1',9

TCP/IP知识总结(TCP/IP协议族读书笔记二)

接下来,总结一下网络层的协议,IP,ARP,RARP,ICMP,IGMP.当我们在网络传输的过程中,把分组交付到主机或路由器需要两级地址:物理地址和逻辑地址.而且我们需要能够把物理地址映射成为相应的逻辑地址,反过来的映射也是必要的. 这时候就涉及两个概念:静态映射与动态映射. 静态映射就是创建一个表,将逻辑地址与物理地址关联起来,这个表存储在网络的每一个机器上.可是存在于网络中的机器的物理地址是经常会发生改变的(更换网卡),这样静态映射表就得时常更新,影响网络的性能. 动态映射就是每当机器知道其