3. TCP/IP协议

3.1 TCP/IP协议分层

3.2 TCP/IP通信过程

(1)应用层:浏览器和Web服务器是两个对等的实现,它们之间使用http协议进行通信。

(2)传输层:网页传输之前,将数据分段后加上传输层首部放入缓存。浏览器的传输层收到数据后放入缓存。由于传输层的两端是对等实体,浏览器可以看懂传输层添加的首部(添加传输层首部的TCP协议数据单元被称为“数据段”,UDP数据单元被称为“数据报”)。注意,对于TCP协议而言,发送端缓存的数据发送完不能立即清除,这是为了在出现网络层丢包时接收方要求重传时,可确保可靠传输的需要)。

(3)网络层:数据段要通过网络发送到浏览器,必须给数据段添加源IP和目标IP等网络层首部(加网络层首部后,称为“数据包”

(4)数据链路层:数据包要在网络中传递,就要针对不同的网络(如由集线器组成的以太网或由路由器组成的点到点链路)进行不同的封装,也就是封装成不同的帧。

(5)物理层:网卡将数字信号变成电信号传送到网线,称为比特(Bit)

3.3 网络设备和分层

(1)路由器:路由器的接口接到Bit流,判断数据帧的目标MAC是否和自己的MAC一样。如果一样,就去掉数据链路层的首部提交给路由器;路由器根据网络层首部信息,为数据包选择转发路由,被称为网络层设备或三层设备(兼有数据链路和物理层的功能)。

(2)交换机:交换机接口接收到Bit流,封装成数据帧,然后根据数据链路层地址(如MAC地址)转发数据帧,是数据链路层设备或二层设备

(3)集线器只负责传递数字信号,它和网线一样,看到的只是Bit流,分不清传递的电信号哪些是数据链路层首部,哪些是网络层首部,是物理层设备

(4)网卡:负责将数据包封装成帧以及将数据帧变为Bit流,是工作在物理层和数据链路层的设备。

第1章 计算机网络和协议(3)_TCP/IP协议的更多相关文章

  1. 协议系列之IP协议

    1.协议 协议(protocol)的定义:为计算机网络中进行数据交换而建立的规则.标准或约定的集合.两个终端相互通信时双方达成的一种约定,规定了一套通信规则,双方通信必须遵守这些规则.这些规则规定了分 ...

  2. HTTP协议与TCP/IP协议

    OSI 是7层         TCP/IP 协议是 4层. OIS 包括的层 从底到上依次为 1.物理层 2.数据链路层 3.网络层 4.传输层 5.会话层 6.表示层 7.应用层 TCP/IP  ...

  3. 网络协议之TCP/IP协议

    沙漏计时器型TCP/IP协议族,允许IP on everyting,即支持多种形式和物理层和数据链路层实现:同时支持多种多样的应用层协议,扩展了各式各样的服务. IP协议(网际协议) 与IP协议配套使 ...

  4. 计算机网络协议OSI TCP/IP协议--001

    网桥:连接同构的LAN的网络互联设备,(同构的LAN 网是,应用层到逻辑层)   实  现的功能是:MAC子层和物理层.1.帧的发送与接收.2.缓冲的管理.3.协议转换. 路由器:在网络层实现互联,他 ...

  5. 计算机网络知识点总结2:IP协议(IPV4)

    一.Internet网络是一种数据报网络(另一种是虚电路网络,用于ATM等),主要功能是路由和转发. 二.IP数据报(分组)格式(IPV4版本) 首部 描述 版本号(4bit) 描述IP协议的版本号, ...

  6. OSI协议与TCP\IP协议之间的关系

    OSI协议 TCP\IP协议 五层协议(学习参考) 应用层 应用层 应用层 表示层 会话层 运输层 运输层 运输层 网络层 网络层 网络层 数据链路层 网络接口层 数据链路层 物理层 物理层 基于五层 ...

  7. 重读 谢希仁《计算机网络》3 - 网络层和IP协议

  8. TFTP服务 简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,默认端口号为69

    (1)yum安装:tftp.tftp-server   (2)启动tftp CentOS 6 service xinetd restart chkconfig tftp on CentOS 7 sys ...

  9. 计算机网络三:域名、IP地址和TCP/IP协议

    一.域名        域名(Domain Name),简称域名.网域,是由一串用点分隔的字符型标志名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时 ...

随机推荐

  1. href和src区别

    href常见于link a 元素, 是Hypertext Reference的缩写,表示超文本引用.用来建立当前元素和文档之间的链接. href引用css文件时,浏览器会识别该文档为css文档,就会并 ...

  2. 新建 django 项目

    安装 django ,就不必多说,python 环境是 python 3.6,django 安装的命令为: pip3 install django==2.1.7 开始demo,名字为 guest dj ...

  3. Python __slots__的使用

    每个类在实例化时都会被分配一个dict,通过 实例.__dict__来访问,dict记录了实例的所有属性 如: class Man(object): pass man = Man()print(man ...

  4. java System.arraycopy()

    package study.stage2; import java.util.Arrays; /** * Created by Sandy.Liu on 2017/7/19. */public cla ...

  5. 将react升级到15之后的坑

    问题来源: 运用ant-design 的metion组件必须要使用react 15.x以上的版本,而目前所用的版本是 react 0.14.x版本,所以就不得不对react进行升级   出现的问题: ...

  6. sql update操作结果

    Mysql 在MySQL中只有真正对记录进行修改了的情况下,row_count才会去记录影响的行数,否则如果记录存在但是没有实际修改则不会将该次更新记录到row_count中. update操作执行结 ...

  7. 在Hanlp词典手动添加未登录词的方式介绍

    在使用Hanlp词典进行分词的时候,会出现分词不准的情况,原因是内置词典中并没有收录当前这个词,也就是我们所说的未登录词,只要把这个词加入到内置词典中就可以解决类似问题,如何操作呢,下面我们来看一下: ...

  8. linux mv命令详解

    Linux mv命令 Linux mv命令用来为文件或目录改名.或将文件或目录移入其它位置. 用法: mv [选项]... [-T] 源文件 目标文件 mv [选项]... 源文件... 目录 mv ...

  9. 关于AXI_Quad_SPI的寄存器配置

    关于AXI_Quad_SPI的寄存器配置 1.核初始化配置 首先是: 40:0000_000A 1C:8000_0000 28:0000_0004 2.命令与dummy_data 60:000001E ...

  10. webGL之three.js入门4--ThreeJS Editor入门篇

    因为工作需要,要看threejs editor的源码,顺便记录过程. github下载的源码目录是这样的 但是editor和其他文件夹内的内容的关联的,我需要将其独立出来并且编辑editor. 进入e ...