链路层 (数据链路层 / 网络接口层) 链路层 (数据链路层 / 网络接口层) 简介 : -- 驱动程序 : 链路层包括 网络相关的设备 的驱动程序, 驱动程序是操作系统与硬件之间进行交互的软件, 相当与桥梁...网络层 (互联网层) (1) 网络层简介 网络层 (互联网层) 简介 : -- 作用 : 处理分组在网络中的活动, 如包传输的相关活动 分组选路, 通过该层, 传输层及以上的层次可以抽象甚至忽略网络结构细节...一般由 操作系统 提供; 网络层相关设备分析 : -- 实现网络层的设备 : 互联网 就是 实现了 网络层 功能的网络, 互联网的所有 主机 和 路由器 必须实现 IP 功能, 路由器 必须实现通过互联网层...; (2) HTTP 协议 HTTP 协议 : 该协议是 WEB 通信中的 浏览器 与 服务器 端通信所用的协议, 传输数据的格式是 HTML; -- 协议所在层 : HTTP 属于 WWW 协议中的一种...网络层 和 运输层的区别 TCP/IP 四层协议的作用 和 区别 : -- 链路层 和 应用层 的明显作用 : 链路层处理物理介质相关的传输媒介 以及物理设备相关的细节, 应用层 处理与应用程序相关的数据
现在,通常使用的IP地址是一个32bit的数字,也就是我们常说的IPv4标准,这32bit的数字分成四组,也就是常见的255.255.255.255的样式。...发送广播的主机就会用新的ARP缓存数据准备好数据链路层的的数据包发送工作。 ...而前 16bit就组成了ICMP所要传递的信息。书上的图6-3清楚的给出了错误类型和代码的组合代表的意思。...我给的例子不太好,因为走的路由少,有兴趣地可以ping一下国外的网站比如sf.net,就可以观察到一些 丢包的现象,而程序运行的时间也会更加的长。 ping还给我们一个看主机到目的主机的路由的机会。...而根据源主机的IP和端口号码,服务器可以很轻松的区别出不同的会话,来进行数据的分发。 掌握本章的状态迁移图才是学习本章的关键。
第30章 其他的TCP/IP应用程序 30.1 引言 本章中我们描述了另外一些很多实现都支持的 T C P / I P应用程序。...我们只提供了这个复杂应用程序的一个简短的概述,集中介绍其对 T C P / I P协议的使用。 另外,我们提供一些 I n t e r n e t上资源发现工具的概述。...包括一组在 I n t e r n e t上导航的工具,可以帮助寻找一些我们不知道确切位置和名字的信息。...本章的最后简单浏览了另一个 T C P / I P的重要客户程序, X窗口系统。我们看到X服务器管理一个显示器上的多个窗口,处理客户与其窗口的通信。...每个客户都有它自己的与服务器的T C P连接,一个单个的服务器为一个给定的显示器管理着所有的客户。
以互联网为中心的时代:许多发展道路各不相同的网络技术正在向互联网靠拢。 无论何时何地一切皆TCP/IP的网络时代:TCP/IP是通信协议的统称。...表示层:将应用处理的信息转换为适合网络传输的格式,或将来自下一层的数据转换为上层能够处理的格式。因此它主要负责数据格式的转换。具体来说,就是将设置固有的数据格式转换为网络标准传输格式。...数据链路层:负责物理层面上互联的、节点之间的通信传输。例如与1个以太网相连2个节点之间的通信。将0、1序列划分具有意义的数据帧传送给对端(数据帧的生成与接收)。...这种负载均衡器是4-7层交换机的一种。通信处理的优先级,带宽控制。 网关:负责将从传输层到应用层的数据进行转换和转发的设备。...帧用于表示数据链路层中包的单位。而数据报IP和UDP等网络层以上的分层中包的单位。段则则表示TCP数据流中的信息。最后,消息是指应用协议中数据的单位。
自从上次学习了TCP/IP的拥塞控制算法后,我越发想要更加深入的了解TCP/IP的一些底层原理,搜索了很多网络上的资料,看到了陶辉大神关于高性能网络编程的专栏,收益颇多。...今天就总结一下,并且加上自己的一些思考。 我自己比较了解Java语言,对Java网络编程的理解就止于Netty框架的使用。...为什么不能阻塞读取网络信息的IO线程呢?这里就要从经典的网络C10K开始理解,服务器如何支持并发1万请求。C10K的根源在于网络的IO模型。...socket有一系列的具有默认值的配置属性,比如socket默认是阻塞式的,它的SO_RCVLOWAT属性值默认为1。...用户调用的recv接收阻塞socket上的报文,该socket的SO_RCVLOWAT值大于第一个报文的大小,并且用户分配了足够大的长度为len的内存。
在互联网普及的初期,人们更关注单纯的连接性,注重不受任何限制的建立连接。但现在,人们不再满足与“单纯的连接”而是更为追求“安全的连接”。...带宽 :在计算机网络中,带宽用来表示网络的通信线路传送数据的能力,因此网络带宽表示单位时间内从网络中的某一点到另一点所能通过的“最高数据率”。这种意义的带宽的单位是比特/秒。...信道利用率指出某信道有百分之几的时间是被利用的(有数据通过)。完全空闲的信道的利用率是零。网络的利用率则是全网络的信道利用率的加权平均值。...信道复用 我们知道,当没有数据进行传输的时候,信道是十分空闲的。但是在网络数据请求量大的时候,比如说最近的618,信息的传播速度就会受阻。那什么是信道的复用,复用就是重复使用的意思。...字节流的起始序号必须在连接建立时设置。TCP数据报首部中的序号字段值则指的是本报文段所发送的数据的第一个字节的序号。 确认号 :即期望收到对方下一个报文段的第一个数据字节的序号。
1.什么是TCP/IP协议 TCP/IP 是基于 TCP 和 IP 这两个最初的协议之上的不同的通信协议的大的集合。大家叫的时候方便说,所以统称为TCP/IP。...TCP/IP协议族中有一个重要的概念是分层,TCP/IP协议按照层次分为以下四层。应用层、传输层、网络层、数据链路层(网络接口层)。...TCP - 传输控制协议 TCP 用于从应用程序到网络的数据传输控制。 TCP 负责在数据传送之前将它们分割为 IP 包,然后在它们到达的时候将它们重组。...IP - 网际协议 IP 负责计算机之间的通信。 IP 负责在因特网上发送和接收数据包。 HTTP - 超文本传输协议 HTTP 负责 web 服务器与 web 浏览器之间的通信。...DNS-域名系统 作为域名和IP地址相互映射的一个分布式数据库 2.下面通过一次网页的访问来看各个协议起到的作用 图片来源
传输控制协议TCP最主要的特点: 面向连接的。 每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的。 TCP提供可靠交付的服务。即传送的数据无差错、不丢失、不重复且按序到达。...TCP是面向字节流的。 TCP中的流指的是流入到进程或者从进程流出的字节序列。...面向字节流的含义是: 虽然应用程序和TCP的交互是一次一个数据块(大小不等),但是TCP把应用程序交下来的数据仅仅看成一连串无结构的字节流。TCP并不知道所传送的字节流的含义。...TCP不保证接收方应用程序所收到的数据块和发送方应用程序所发出的数据块具有对应大小的意义。 用户数据报协议UDP的主要特点: UDP是无连接的。 UDP使用尽最大努力交付。 UDP没有拥塞控制。...第一次握手前客户端的状态为CLOSE,第一次握手后客户端的状态为SYN-SENT。此时服务端的状态为LISTEN。
许多常用的更高级的协议都是建立在TCP协议基础上的,比如用于浏览器的HTTP协议、发送邮件的SMTP协议等。 一个IP包除了包含要传输的数据外,还包含源IP地址和目标IP地址,源端口和目标端口。...每个网络程序都向操作系统申请唯一的端口号,这样,两个进程在两台计算机之间建立网络连接就需要各自的IP地址和各自的端口号。 TCP编程 Socket是网络编程的一个抽象概念。...创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。...新浪网站的IP地址可以用域名www.sina.com.cn自动转换到IP地址,但是怎么知道新浪服务器的端口号呢? 答案是作为服务器,提供什么样的服务,端口号就必须固定下来。...端口号小于1024的是Internet标准服务的端口,端口号大于1024的,可以任意使用。
,它所实现的是尽最大的努力交付。...UDP 是面向数据报文的、无连接的协议,因此它的开销低并且发送器前的时延小(因为不用建立连接啊),面向报文也使得 IP 层在传输 UDP 协议的报文时既不会拆分也不会合并。...UDP 可以支持一对一、一对多、多对一、多对多的通信。 UDP 没有拥塞控制功能,它的发送速率不会随着网络出现的拥塞而降低,所以它的实时性较好。这也是许多视频聊天应用采用它的原因。...面向数据流的意思是说发送方应用程序发送的数据是什么顺序,接收方应用读取的接收到的数据也是什么顺序。 TCP 协议提供的是端到端的通信,也就是说一条TCP连接只能提供一对一的通信。...这是一个强制性的字段 紧急指针(2字节):本报文段中的紧急数据的最后一个字节的序号 选项字段(最多40字节):每个选项的开始是 1 字节的 kind 字段,说明选项的类型 > 超时重传 为了搞明白下面要说的
一、写在前面 1.1、大佬对我说 最近心有不定,大佬对我说,技术的路越往前走越需要下潜,到最后就需要返璞归真,所以推荐去深入了解TCP/IP, 听了这个,我也表示很无奈啊,加油吧,谁让咱们离大佬还有很远很远的距离呢...~ 1.2、我们面对的选择 很多时候想想,现状的确和大佬说的一样,做技术基本都是在接触不同的新技术,针对老技术极大的情况下是局限于使用,局限于维护,局限于表面,想想都头疼~ 1.3、推荐的内容是啥...除了TCP的那个大块头的书之外,另外推荐一篇A TCP/IP Tutorial(搜索到的,看到很多大佬也在推荐这个),值得花上一些时间去学习研究,希望你也能有所收获~ 二、推荐文档信息 2.1、文档信息...A TCP/IP Tutorial: https://tools.ietf.org/html/rfc1180#page-8 2.2、来个简单的截图 ?
负责直接和应用程序接口并提供常见的网络应用服务,此外,为了向应用程序提供有效的网络服务,应用层还需要确立相互通信的应用进程的有效性并提供双方之间的同步,需要提供应用进程所需的信息交换和远程操作,需要建立错误恢复的机制以保证应用层数据的一致性...应用层的主要应用: WWW:浏览器和服务端之间通信所用的协议是HTTP协议,所传输数据的主要格式为HTML,WWW中的HTTP属于OSI应用层的协议,HTML属于表示层的协议。...电子邮件:发送电子邮件时用到的协议是SMTP。最初,只能以文件格式发送电子邮件。然后现在的电子邮件的格式由MIME协议扩展之后,就可以发送声音、图像等各式各样的信息。MIME属于表示层的协议。...ICMP就是为了这个功能制定的。 4、链路层:用来处理连接网络的硬件部分,包括控制操作系统、硬件的设备驱动和网络适配器,及光纤等物理可见的部分。硬件上的范畴均属于链路层的作用范围之内。...这意味着TCP有一个特殊的机制来确保数据安全的不出错的从一个端点传到另一个端点,而UDP不提供任何这样的保证。另外,TCP是面向连接的,可以类比于打电话,UDP是面向非连接的,可以类比于发短信。
大家好,又见面了,我是你们的朋友全栈君。 TCP/IP协议 1.链路层:数据链路层或网络接口层(网络接口层和硬件层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。...处理与电缆(或其他任何传输媒介)的物理接口细节 。转换IP层和网络接口层使用的地址 。 2.网络层:处理分组在网络中的活动,例如分组的选路。...TCP和UDP的每组数据都通过端系统和每个中间路由器中的IP层在互联网中进行传输。 ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。...TCP为两台主机提供高可靠性的数据通信。它所做的工作包括把应用程序交给它的数据分成合适的小块交给下面的网络层,确认接收到的分组,设置发送最后确认分组的超时时钟等。...一个数据报是指从发送方传输到接收方的一个信息单元(例如,发送方指定的一定字节数的信息)。 应用层:决定了向用户提供应用服务时通信的活动。TCP/IP 协议族内预存了各类通用的应用服务。
电子邮件是 TCP/IP 最重要的应用之一。 ---- 您不会用到... 当您写邮件时,您不会用到 TCP/IP。 当您写邮件时,您用到的是电子邮件程序,例如QQ邮箱、foxmail邮箱等等。...您的电子邮件程序使用不同的 TCP/IP 协议: 使用 SMTP 来发送邮件 使用 POP 从邮件服务器下载邮件 使用 IMAP 连接到邮件服务器 ---- SMTP - 简单邮件传输协议 SMTP 协议用于传输电子邮件...通常情况下,邮件会被送到一台邮件服务器(SMTP 服务器),然后被送到另一台(或几台)服务器,然后最终被送到它的目的地。...假如您的邮件程序使用 POP,那么一旦它连接上邮件服务器,您的所有的邮件都会被下载到邮件程序中(或者称之为邮件客户端)。...比方说您需要从不同的位置访问邮件服务器,但是仅仅希望回到办公室的时候再下载邮件,IMAP 在这种情况下会很有用。
2、整体构架 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。...而TCP/IP通讯协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。...3、TCP/IP中的协议 3.1、IP协议 IP(Internet protocol),这里的IP不是值得我们通常所说的192.168.1.1,这个IP指的是一种协议,是TCP/IP的心脏,也是网络层中最重要的协议...IP数据包是不可靠的,因为IP并没有做任何事情来确认数据包是按顺序发送的或者没有被破坏。IP数据包中含有发送它的主机的地址(源地址)和接收它的主机的地址(目的地址)。...TCP数据包中包括序号和确认,所以未按照顺序收到的包可以被排序,而损坏的包可以被重传。 TCP将它的信息送到更高层的应用程序,例如Telnet的服务程序和客户程序。
IP协议:ARP,IPV4 ICMP DNS DHCP NAT DNS记录: A IP地址 NS 域名服务器 CNAME MX 邮件交换 ARP:I...
Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet...国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。...最上面的就是应用层了,这里面有http,ftp,等等我们熟悉的协议。 第二层则是传输层,著名的TCP和UDP协议就在这个层次。...第三层是网络层,IP协议就在这里,它负责对数据加上IP地址和其他的数据以确定传输的目标。 第四层是叫数据链路层,这个层次为待传送的数据加入一个以太网协议头,并进行CRC编码,为最后的数据传输做准备。
本文是该系列文章的第三篇,鉴于我对自己的前端学习规划,会选择性地重点学习相对重要地部分,因此这篇文章只是对链路层的简单认识,所以相对来说会比较抽象和浅显 链路层的简单认识 一、链路层的作用 二、以太网...三、环回 四、MTU和路径MTU 五、结束语 一、链路层的作用 在本系列文章的第一篇中介绍OSI模型时,我们用一个抽象的例子介绍了链路层的作用,其起到的是介质访问的作用。...而在TCP/IP协议中,链路层是用于IP的发送和数据接收的。 TCP/IP支持多种不同的链路层,它依赖于使用的网络硬件类型,例如有线网络中的以太网,无线网络中的Wi-Fi。...其实它能证明的就是咱们北京当地的邮局的工作是正常的,所以如果别人在外省寄给你一封信,但你却没收到,那么我们能排除一定不是在北京当地邮局出的问题。...这就是所谓的环回的作用 四、MTU和路径MTU 大多数的串行链路的网络都有设置有效载荷大小,该值被称为MTU(最大传输单元),例如以太网的有效载荷的字节数通常被限制为1500。
一、网络基础知识 A计算机与网络发展的7个阶段 1.批处理 2.分时系统:指多个终端与同一个计算机连接,允许多个用户同时使用一台计算机的系统 3.计算机之间的通信 4.计算机网络的产生...2.分组交换:是指将一个大数据分割为一个个叫做包(Packet)的较小单位进行传输的方法 C.OSI参考模型(七层模型) 应用层:针对特定应用的协议,电邮、文件传输等 表示层:设备固有数据格式和网络标准数据格式的转换...负责建立和断开通信连接(数据流动的逻辑通路)。管理传输层以下的分层。何时建立链接,断开链接以及保持多久的链接? 传输层:管理两个节点之间的数据传输。...界定连接器和网线的规格 D.传输方式的分类 1.分组交换:让连接到通信电路的计算机将所要发磅的数据分成多个数据包,按照一定的顺序排列之后分别发送 二、TCP/IP基础知识 A.TCP/IP的标准化...IPv4的首部以后转发给网络c(只支持IPv4) 六、TCP与UDP 1.TCP提供可靠的通信传输,UDP常被用于让广播和细节控制交给应用的通信传输 2.套接字(socket),可以设置对端的
在目的主机,传输层去TCP报头,将排好顺序的分组组成应用数据流送给应用程序。这样目的主机接收到的来自源主机的字节流,就像是直接接收来自源主机的字节流一样。...) 网络层(Network layer) 数据链路层(Data link layer) 物理层(Physical layer) TCP和UDP的区别 TCP提供的是面向连接的、可靠的数据流传输 UDP提供的是非面向连接的...、不可靠的数据流传输。...简单的说,TCP注重数据安全,而UDP数据传输快点,但安全性一般. 建立连接协议(三次握手) 客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。...连接终止协议(四次挥手) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。
领取专属 10元无门槛券
手把手带您无忧上云