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. Singer 学习十 同步模式

    sync 模式是属于tap 的操作,同步模式下,tap 需要提交 schema. record .state message, singer 指南对于每种 类型有详细的说明 streams 每个str ...

  2. (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80

    问题说明80端口被占用,用netstat -nlp |grep :80命令看看有什么进程占用了80端口,发现是httpd进程. 没想到安装了两个apache,我安装apache2.4的时候删除了2.2 ...

  3. cos migration工具webhook推送

    上一篇讲了腾讯云同步工具的使用,这篇主要是补充如何将同步结果主动消息通知. 因为cos migration 工具是java语言,并在github开源的,所以可以直接修改源码,添加webhook推送代码 ...

  4. react 知识点2

    从 render 函数可以看出来,组件内部是通过 this.props 的方式获取到组件的参数的,如果 this.props 里面有需要的属性我们就采用相应的属性,没有的话就用默认的属性. 那么怎么把 ...

  5. vue-router 与 react-router 设计理念上的区别

    vue-router 与 react-router 设计理念上的区别: 区别 vue-router react-router 改成history mode: 'history' 直接使用 react- ...

  6. python3.7安装

    在Ubuntu系统带有原Python环境2.7,3.5,使用pyenv可以将其设置成最新的3.7.1,使用安装步骤如下:(防止丢失所以做了复制,复制来源:https://www.cnblogs.com ...

  7. Mibew Messenger (also known as Open Web Messenger)

    Mibew Messenger (also known as Open Web Messenger) is an open-source live support application writte ...

  8. LINUX下PHP网页生成快照(截屏)(xvfb and wkhtmltoimage)

    经测试,可以使用 利用php截屏或实现网页快照我们需要用一个工具:xvfb and wkhtmltoimagek哦,这个工具目前只能在linux系统中使用,下面有兴趣的朋友可进入参考. 在做旅游攻略时 ...

  9. Redis环境安装

    Windows下: 到https://github.com/MicrosoftArchive/redis/releases下载: 下载完成后一步一步安装就行. 然后在安装一个可视化工具:https:/ ...

  10. SQL判断某列中是否包含中文字符或者英文字符

    SQL判断某列中是否包含中文字符或者英文字符   [sql]  select * from 表名 where 某列 like '%[吖-座]%'     select * from 表名 where ...