TCP/IP协议学习笔记

计算机网络基础知识复习汇总:计算机网络基础知识复习

HTTP协议的解析:剖析 HTTP 协议

一个系列的解析文章:

 1、计算机的网络体系             

  • 网络接口层:对应OSI物理层和数据链路层并实现与他们相同的功能。其中包括LAN和WAN的技术细节,也称为主机到网络层
    • LAN:IEEE802.2/3 IEEE802.5 FDDI
    • WAN:HDLC SLIP PPP FrameRelay ATM
  • 互联网络层运送数据包,将数据从任何相连的网络送到目的地,而不在乎走的是那个路径或网络。管理这一层的特定协议称为互联网络协议(IP)。最佳路径选定和数据包交换都发生在着一层。实现的是不同网络连接组成更大网络的问题。
  • 运输层主要负责处理有关服务质量等事项,如可靠度、流量控制和错误校正。该层可以提供不同服务质量、不同可靠性保证的传输服务,并且协议发送端和目标端的传输速度差异。这一层也称为主机到主机层。主要解决如何区分不同应用程序的问题,端口号。
  • 应用层:包括会话层和表示层的功能,用来建立应用层来处理高层协议、有关表达、编码和会话控制。TCP/IP将所有应用程序有关的内容都归为这一层,并保证为下层适当地将数据数据封装成数据包。大部分TCP/IP实现都会提供以下通用程序:
    • Telnet远程登陆,端口号21:通过链接目标计算机的这一端口,得到验证后可以远程控制管理目标计算机。但是不够安全,现在基本上都采用SSH来进行远程登录
    • FTP文件传输协议,端口号23:用于上传下载
    • SMTP简单邮件传送协议,端口号25
    • SNMP简单网络管理协议
    • DNS域名服务,端口号53:当用户输入网站的名称后,有DNS负责将它解析成IP地址,这个过程中用到端口号53
    • HTTP超文本传输协议,端口号80:通过http实现网络上的超文本的传输

 2、TCP/IP的特点

  • TCP/IP不是一个简单的协议,而是一组小的、专业化协议,包括TCP、IP、UDP、ARP、ICMP以及其他的一些被称为子协议的协议。
  • TCP/IP是一种因特网标准,最大的优势是其具有很好的可路由性。
  • TCP/IP可以跨越多个网段的协议,由于其携带了网络层的信息和编址信息,这些信息可由路由器理解。
  • IP数据包的最长不超过65535个字节,最小不小于20个字节
  • IP协议是一种不可靠、无连接的协议,意味着它不保证数据的可靠传输。TCP/IP协议群中更高层协议可使用IP信息确保数据包按正确的地址进行传输。注意到IP数据报并不包含一个校验和部件,IP数据报报头校验和仅仅验证IP报头中的路由信息的完整性。如果当数据包被接收时伴随信息的校验和值不正确,则数据包将被认为已经破坏并被抛弃,同时,一个新的数据包将被发送。
  • IP层是点到点的连接,即一台主机与另一台主机之间的连接
  • 传输层则是端到端的连接,即一台主机上的一个应用程序到另一台主机上的对应应用程序之间的连接

3、协议的三要素

  • 语法:传输数据的格式(IP数据报的报头20字节)
  • 语义:每个字段的值表示什么意思
  • 时序:

 4、传输层协议

  • TCP:Transmission Control Protocol,传输控制协议,提供的是可靠的、面向连接的协议,传输效率低
    • Telnet远程登陆,端口号21:通过链接目标计算机的这一端口,得到验证后可以远程控制管理目标计算机。但是不够安全,现在基本上都采用SSH来进行远程登录
    • FTP文件传输协议,端口号23:用于上传下载
    • SMTP简单邮件传送协议,端口号25
    • DNS域名服务,端口号53:当用户输入网站的名称后,有DNS负责将它解析成IP地址,这个过程中用到端口号53
    • HTTP超文本传输协议,端口号80:通过http实现网络上的超文本的传输
  • UDP:User Datagram Protocol,用户数据报协议,提供的是不可靠的、无连接的服务,传输效率高
    • TFTP简单文件传输协议,端口号69
    • DNS域名服务,端口号53:当用户输入网站的名称后,有DNS负责将它解析成IP地址,这个过程中用到端口号53
    • NTP网络时间协议,端口号123
    • RPC远程过程调用,端口号111
    • QQ 端口号8000

 5、TCP建立连接三次握手

  • SYN表示请求建立连接标志位,ACK是确认标志位
  • ACK的值应该是请求数据包中的seq+1
  • 应用:TCP半连接攻击

6、TCP断开连接四次握手

  •  FIN表示断开连接的标志位,为1表
  • 示请求断开连接

7、流量控制和差错控制

  • TCP的流量控制通过滑动窗口来控制,UDP没有流量控制
  • TCP的差错校验通过序号、ACK确认以及各种标志位的识别来进行差错校验,UDP只有校验和来提供差错校验,需要上层协议来提供差错校验,eg:TFTP

 8、ARP协议:地址解析协议

ARP协议是一个互联网络层协议,它获取主机或节点的MAC地址(物理地址)并创建一个本地数据库以将MAC地址映射到主机IP(逻辑)地址上。ARP协议与IP协议紧密协作,因为IP在指导发送数据到目标主机之前必须具有目标主机的物理地址,为使ARP更加有效,计算机在一个缓冲区保存已经知道的IP-MAC地址映射表,这样就无需广播冗余请求。arp -a命令进行查询

9、ICMP协议:网络控制数据包协议

ICMP协议位于TCP/IP模型互联网络层的IP协议和TCP协议之间ICMP消息通过IP数据报传送,它不提供错误控制服务,被用来发送错误和控制信息。ICMP常用语诊断实用程序中,如ping命令和Tracert命令。可以用ICMP协议来检测双向通路的

  ICMP协议定义了很多信息类型:

    • 目的地不可达
    • TTL超时(大多128跳)
    • 信息请求
    • 信息应答
    • 地址请求
    • 地址应答

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java一日一条

每个程序员应该知道的计算机网络知识

作为一名程序员, 不可能不与网络打交道. 现在我们的手机, 电脑, 不夸张地说, 离开了网络就是一块’废铁’, 它们的作用将大打折扣.. 本文的作用呢, 主要是...

47910
来自专栏小二的折腾日记

一文总结计算机网络

它只有四层,相当于五层协议中数据链路层和物理层合并为网络接口层。 现在的 TCP/IP 体系结构不严格遵循 OSI 分层概念,应用层可能会直接使用 IP 层或者...

12220
来自专栏吾爱乐享

软件测试之学习计算机网络知识

19350
来自专栏梧雨北辰的开发录

计算机网络基础知识

计算机网络的知识与我们的生活息息相关,对于每一个开发者来说更是十分重要,深入理解它,将有助于我们在实际工作中迅速解决相关问题。本篇就计算机网络的基本知识进行概要...

45030
来自专栏Java3y

运输层

从通信和信息处理的角度看,运输层向它上面的应用层提供通信服务,它属于面向通信部分的最高层,同时也是用户功能中的最低层。只有位于网络边缘部分的主机的协议栈才有运输...

16120
来自专栏安富莱嵌入式技术分享

【RL-TCPnet网络教程】第24章 RL-TCPnet之网络控制报文协议ICMP

本章节为大家讲解ICMP(Internet Control Message Protocol,网络控制报文协议),通过前面章节对TCP和UDP的学习,需要大家对...

16020
来自专栏即时通讯技术

理论经典:TCP协议的3次握手与4次挥手过程详解

尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务。TCP提供一种面向连接的、可靠的字节流服务。

10920
来自专栏QQ会员技术团队的专栏

告知你不为人知的 UDP:连接性和负载均衡

说起网络 socket,大家自然会想到 TCP ,用的最多也是 TCP,UDP 在大家的印象中是作为 TCP 的补充而存在,是无连接、不可靠、无序、无流量控制的...

7.5K120
来自专栏漫漫前端路

HTTP 协议 - 简单谈谈 TCP / IP (一)

世界上几乎所有的 HTTP 协议都是由 TCP / IP 协议来承载的。它是互联网相关的各类协议族的总称(通常所说的规则,就是协议)。

12120
来自专栏菜鸟计划

加深理解HTTP请求---网络基础TCP/IP

为了了解HTTP,必须的了解TCP/IP协议族。 通常使用的网络实在TCP/IP协议族的基础上运作的。而HTTP就属于他的一个子集。 1、TCP/IP 协议族 ...

30570

扫码关注云+社区

领取腾讯云代金券