首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

TCPIP协议学习第一篇:TCPIP协议概览

TCP/IP协议并不是单纯的俩个协议,而是一个很大的协议的总称。TCP/IP 协议是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。...网络协议有OSI七层协议和TCP/IP四层协议,还有一个五层协议,其实四层协议可以看做是七层协议的简化版。 ?...TCP/IP协议分为四层,每一层都由特定的协议与对方进行通信,而协议之间的通信最终都要转化为 0 和 1 的电信号,通过物理介质进行传输才能到达对方的电脑,因此物理介质是网络通信的基石。...为了解决这些问题,网络层引入了三个协议,分别是IP协议、ARP协议、路由协议。 IP协议制定了IP地址来判断俩个主机是否属于同一个子网。 ARP协议根据IP地址获取MAC地址。...目标机接收到数据包后,采用对应的协议,对帧数据进行组装,然后再通过一层一层的协议进行解析,最终被应用层的协议解析并交给服务器处理。 本篇文章只是对TCP/IP协议有一个总体的认知。

1.1K30
您找到你想要的搜索结果了吗?
是的
没有找到

linux网络编程之TCPIP基础(一):TCPIP协议与数据报封装

在此常见的协定有: HTTP,HTTPS,FTP,TELNET,SSH,SMTP,POP3等 二、TCP/IP协议四层模型 TCP/IP网络协议分为应用层(Application)、传输层(Transport...应用层数据通过协议发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示: ?...使用UDP协议的应用程序需要自己完成丢包重发、消息排序等工作。 目的主机收到数据包后,如何经过各层协议最后到达应用程序呢?整个过程如下图所示: ?...以太网驱动程序首先根据以太网首部中的“上层协议”字段确定该数据帧的有效载荷(payload,指除去协议首部之外实际传输的数据)是IP、ARP还是RARP协议的数据报,然后交给相应的协议处理。...参考: 《Linux C 编程一站式学习》 《TCP/IP详解 卷一》

1.6K50

TCPIP 协议TCPIP 基础

: IP协议 (网际协议), ICMP 协议 (Internet 互联网控制报文协议), IGMP 协议 (Internet 组管理协议); -- 网络层提供者 : 网络层 和 传输层的功能 一般由 ...分组数据包未打到目的主机也不会重发, 该协议属于非可靠性传输协议; (3) ICMP 协议 ICMP 协议 : IP 协议附属协议, 用于主机 和 路由器间交换错误报文 和 其它重要信息; -- 作用...协议 :  -- 作用 : 从分组数据包 IP 地址解析物理地址 (MAC 地址) 协议; RARP 协议 : 逆地址解析协议; (5) IGMP 协议 IGMP 协议 (Internet 组网管理协议...(传输控制协议), UDP 协议 (用户数据报协议);  (2) TCP 协议 TCP 协议 (传输控制协议) : 面向链接协议, 该协议为两台主机提供可靠的数据通信;  -- 分块传网络层 : 在 运输层..., HTTP 协议对应 OSI 七层协议中的 表示层协议, 在 TCP/IP 协议中属于 应用层协议; (3) FTP 协议 (文件传输协议) FTP 协议简介 :  -- 传输过程 : FTP 协议文件传输会建立两个

51520

TCPIP协议

大家好,又见面了,我是你们的朋友全君。 TCP/IP协议 1.链路层:数据链路层或网络接口层(网络接口层和硬件层),通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。...ICMP是IP协议的附属协议。IP层用它来与其他主机或路由器交换错误报文和其他重要信息。 IGMP是Internet组管理协议。它用来把一个UDP数据报多播到多个主机。...当应用程序用TCP传送数据时,数据被送入协议中,然后逐个通过每一层直到被当作一串比特流送入网络。其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息),该过程如图所示。...当目的主机收到一个以太网数据帧时,数据就开始从协议中由底向上升,同时去掉各层协议加上的报文首部。每层协议盒都要去检查报文首部中的协议标识,以确定接收数据的上层协议。...发布者:全程序员长,转载请注明出处:https://javaforall.cn/149091.html原文链接:https://javaforall.cn

52510

TCPIP协议

TCP/IP协议的工作流程如下: 在源主机上,应用层将一串应用数据流传送给传输层。 传输层将应用层的数据流截成分组,并加上TCP报头形成TCP段,送交网络层。...TCP/IP 协议的七层 **应用层(Application layer) ** 表示层(Presentation layer) 会话层(Session layer) 传输层(Transport layer...建立连接协议(三次握手) 客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。...连接终止协议(四次挥手) 由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。

61250

TCPIP协议

TCP/IP协议 TCP/IP协议概述 TCP/IP协议并不完全符合OSI的七层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7层抽象的参考模型,其中每一层执行某一特定任务。...TCP/IP层次结构图 .png 网络层协议(IP协议) IP协议是网络层的主要协议,是Internet最重要的协议。在IP协议中规定了在Internet上进行通信时应遵守的规则。...IP协议的数据格式如下: ? 网际协议IP数据格式.png 版本号:协议的版本号,不同版本的协议格式或语言可能不同,现在常用的是IPV4。...传输层协议(TCP和UDP) 1.TCP协议 传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层通信协议,由IETF的RFC 793说明。...两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。Socket数据结构中包含这五种信息。

42820

TCPIP协议

TCP/IP TCP/IP协议其实是一系列与互联网向关联的协议集合起来的总成。...分层管理是TCP/IP协议的重要特征; TCP/IP协议族分层 TCP/IP协议族是有一个四层协议组成的系统,这四层分别为:应用层,传输层,网络层和数据链路层; ?...在传输层有两个性质不同的协议:TCP,UDP; 网络层:网路层用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位。...应用层数据通过协议发到网络上时,每层协议都要加上一个数据首部(header),称为封装(Encapsulation),如下图所示: ?...数据封装成帧后发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。 TCP数据报格式 ?

49131

从0到1用java再造tcpip协议:实现ARP协议

经过前两节的准备,我们完成了数据链路层,已经具备了数据包接收和发送的基础设施,本机我们在此基础上实现上层协议,我们首先从实现ARP协议开始。...先简单认识一下ARP协议,ARP是一种寻址协议,它要找寻目标的物理地址,连接在互联网上的设备有两种地址,一种叫IP,也就是我们常见的192.168.2.1这类地址,另一种叫物理地址,例如我们电脑上的mac...网络协议的本质其实就是填表单。ARP协议的实现也是填写一系列表单,发给对方,对方根据表单要求也填写一张表单发回来,我们看看这张表单的结构: ? 这张表上头的0-32单位是比特位而不是字节,要注意。...接下两字节也就是protocoal type,表示数据传输使用的网络协议,如果数据包使用IP定位接收目标所在的局域网,那么该值写死为0x0800,我们实现的协议也是把这两个字节写死。...我们在实现ARP协议时,除了按规定填表和读表外,我们还需要做的工作是提供缓存机制。

1.5K30

15、TCPIP协议

15、TCP/IP协议       几台孤立计算机系统组在一起形成网络,几个孤立网络连在一起形成一个网络的网络,即互连网。一个互连网就是一组通过相同协议族互连在一起的网络。...15.1、TCP传输协议 TCP通过以下方式来提供可靠性: (1)应用数据被分割成TCP认为最适合发送的数据块,这与UDP完全不同,应用程序产生的数据报长度保持不变。...建立TCP连接协议:(建立一个连接需要三次握手、而终止一个连接要经过四次握手) (1) 请求端(通常称为客户)发送一个SYN段指明客户打算连接的服务器的端口,以及初始序号(ISN)。...15.2、IP协议       IP是TCP/IP协议族中最为核心的协议。所有的TCP、UDP、ICMP及IGMP数据都以IP数据报格式传输。...15.3、UDP用户数据报协议       UDP是一个简单的面向数据报的运输层协议:进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。

57700

TCPIP协议(二)

互联网层不区分各种传输层协议。IP承载着各种不同上层协议的数据。这些协议都由一个独特的协议号来标识:例如,互联网控制消息协议(ICMP)和互联网组管理协议(IGMP)分别是协议1和2。...应用层 应用层包括许多协议,大多数应用程序将这些协议用于提供用户服务或通过低层协议建立的网络连接交换应用数据。这可能包括一些基本的网络支持服务,如路由和主机配置协议。...应用层协议的例子包括超文本传输协议(HTTP)、文件传输协议(FTP)、简单邮件传输协议(SMTP)和动态主机配置协议(DHCP)。...根据应用层协议编码的数据被封装到传输层协议单元(如TCP或UDP消息)中,再利用低层协议实现实际的数据传输。...此外,TCP/IP模型还区分了用户协议和支持协议,支持协议为网络基础设施系统提供服务。用户协议用于实际的用户应用。例如,FTP是一种用户协议,DNS是一种支持协议

60900

TCPIP协议

BootP(Bootstrap Protocol,引导协议)是使用传输层UDP协议动态获得IP地址的协议。 ?...在TCP/IP协议中,源端口号和目的端口号分别与源IP地址和目的IP地址组成套接字(socket),唯一的确定一条TCP连接。...TCP协议和UDP协议使用16bits端口号(或者socket)来表示和区别网络中的不同应用程序,网络层协议IP使用特定的协议号(TCP 6,UDP 17)来表示和区别传输层协议。...网络层位于TCP/IP协议数据链路层和传输层中间,网络层接收传输层的数据报文,分段为合适的大小,用IP报文头部封装,交给数据链路层。...协议字段确定在数据包内传送的上层协议,和端口号类似,IP协议协议号区分上层协议。TCP协议协议号为6,UDP协议协议号为17。

72020

使用java自造TCPIP协议:使用JPCAP实现数据发包

从本节开始,我们打算使用java把tcp/ip网络协议重新实现一遍。这是一个不小的野心,自然也是一个不小的工程,好在前面顺利完成了操作系统,编译器两门课程的实现,这给了我极大的信心。...整个互联网系统分为三大支柱,分别是操作系统,编译器,和网络协议,我们完成了前面三者,还剩第三者一直孤悬在那,直到今天我终于下定决心,尝试着把tcp/ip协议也重新实现一遍。...对于网络协议而言,绝大多数人都是”只见过猪跑,但没吃过猪肉“,这绝对是一种巨大的遗憾。...我们要开发的协议采取四层架构: ?...协议设计的最巧妙之处在于,上层协议只需要关注自己的数据处理,剩下的问题交由下层协议处理,这种方式将一个相当复杂的系统分而治之,一个复杂度极高的系统级怪兽就被庖丁血牛似的给肢解掉了,在后面的编码实现中,

2.2K50
领券