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. redis服务以及phpredis扩展的安装

    一.下载软件包 下载redis wget http://download.redis.io/releases/redis-3.0.7.tar.gz 下载redis的php扩展 wget http:// ...

  2. 家庭记账本web开发

    这个系统的整体结构: GitHub:https://github.com/lq1998lq/Test.git com.action包: package com.action; import java. ...

  3. [转]ArrayList的实现原理

    1. ArrayList概述: ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括 null 在内的所有元素.除了实现 List 接口外,此类还提供一些方法来操作内部 ...

  4. mysql之 sysbench1.0.3 安装与系统压力测试

    针对系统和数据库压测是项目上线前必做的一项,这里使用的是最新版本的sysbench做的压测使用详解.sysbench可以做系统层面的压力测试(CPU.内存.硬盘IO.互斥锁.Thead),也可以做数据 ...

  5. docker 容器的使用

    本文使用centos7 1 ,docker 安装:  yum install docker; 2 启动 docker: service docker start; 3 开机启动docker: chkc ...

  6. Centos6 rpm 安装mysql5.5(转)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/macfac/article/details/51868712 0. 到官网下载好,想要安装的rpm包 ...

  7. httpService 和 WebService接口协议

    http协议: 1.调用接口 例1:此例子传输参数为XML文本格式字符串: 将数据缓冲区上载到具有指定 URI 的资源.  var url = "http://localhost:23265 ...

  8. Java读写HDFS文件

    一.依赖包maven路径 <!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client --> <d ...

  9. MAC JDK默认安装路径 JAVA路径

    打开终端,执行     /usr/libexec/java_home -V 默认JDK1.6(Apple自带JDK)路径:   /System/Library/Java/JavaVirtualMach ...

  10. Hiero中修改BinView中binitem对象名字的方法

    之前博客提到了scan for more version这样一个功能,该功能会放宽查询条件,这就会导致BinItem的名称与activeVersion的名称不符.这篇博客提供了一个方法去统一名称. 该 ...