计算机网络协议详解怎么写_自考短线好还是长线好

计算机网络协议详解怎么写_自考短线好还是长线好计算机网络协议详解:本篇文章主要总结一些常见的网络基础概念以及Linux系统中的网络相关设置方法,具体包括OSI七层协议、TCP/IP协议相关内容。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用


计算机网络协议详解

本篇文章主要总结一些常见的网络基础概念,并介绍了计算机网络相关协议。
相关参考资料:《鸟哥的Linux私房菜——服务器架设篇》


一、计算机网络协议:OSI七层协议

在服务器与客户端连接中,不论是接收端还是发送端,每一层只认识对方同一层次的数据。

OSI七层协议

  • Layer 1:物理层
    由于网络媒体只能传送 0 与 1 这种位串,因此物理层必须定义所使用的媒体设备之电压与讯号等, 同时还必须了解数据讯框转成位串的编码方式,最后连接实体媒体并传送/接收位串。

  • Layer 2:数据链路层
    这一层是比较特殊的一个阶层,因为底下是实体的定义,而上层则是软件封装的定义。因此第二层又分两个子层在进行数据的转换动作。 在偏硬件媒体部分,主要负责的是 MAC (Media Access Control) ,我们称这个数据报裹为 MAC 讯框 (frame), MAC 是网络媒体所能处理的主要数据报裹,这也是最终被物理层编码成位串的数据。

  • Layer 3:网络层
    IP就是在这一层定义的, 同时也定义出计算机之间的联机建立、终止与维持等,数据封包的传输路径选择等等。

  • Layer 4:传送层
    定义了发送端与接收端的联机技术(如 TCP, UDP 技术), 同时包括该技术的封包格式,数据封包的传送、流程的控制、传输过程的侦测检查与复原重新传送等,以确保各个资料封包可以正确无误的到达目的端。

  • Layer 5:会谈层
    主要定义了两个地址之间的联机信道之连接与挂断,此外,亦可建立应用程序之对谈、 提供其他加强型服务如网络管理、签到签退、对谈之控制等,确定网络服务建立联机的确认。

  • Layer 6:表现层
    主要定义的是网络服务(或程序)之间的数据格式的转换, 包括数据的加解密也是在这个分层上面处理。

  • Layer 7:应用层
    应用层本身并不属于应用程序所有,而是在定义应用程序如何进入此层的沟通接口,以将数据接收或传送给应用程序,最终展示给用户。

二、计算机网络协议:TCP/IP协议

OSI七层协议虽然架构严谨,但是过于复杂,于是在OSI协议的基础上发展出了TCP/IP协议,目前主要使用的是TCP/IP协议。

OSI与TCP/IP的相关性

1.TCP/IP网络接口层

  • 以太网传输协议:CSMA/CD

CSMA/CD

  1. 接听介质使用情况
    A 主机要发送网络数据包前,需要先对网络媒体进行监听,确认没有人在使用后, 才能够发送出讯框。

  2. 多点传输
    A 主机所送出的数据会被集线器复制一份,然后传送给所有连接到此集线器的主机! 也就是说, A 所送出的数据, B, C, D 三部计算机都能够接收的到!但由于目标是 D 主机,因此 B 与 C 会将此讯框数据丢弃,而 D 则会抓下来处理。

  3. 冲突监测
    该通讯数据附有检测能力,若其他主机例如 B 计算机也刚好在同时间发送数据时, 那么 A 与 B 送出的数据碰撞在一块 (出车祸) ,此时这些通讯就是损毁,那么 A 与 B 就会各自随机等待一个时间, 然后重新通过第一步再传送一次数据。

  • MAC的封装格式
    MAC数据包是整个网络硬件上传输的最小单位,每块物理网卡出厂都会设置一个唯一的MAC号,用于标识每台主机上的不同网卡。

MAC的封装格式

  • 最大传输单位(MTU)
    标准以太网络讯框所能传送的数据量最大可以到达 1500 bytes , 这个数值就被我们称为 MTU。

  • 设备:集线器(Hub)、交换器(Switch)等

2.TCP/IP网络层

  • IP数据包的封装
    其中最重要的就是Source Address与Destination Address,分别记载了源IP地址与目标IP地址。
    IP数据包的封装

  • IP地址

  1. IP地址分级
    IP地址共32bits,主要划分为Net_ID(网域号码)与Host_ID(主机号码),在同一个网段内,Net_ID 是不变的,而 Host_ID 则是不可重复。

    以二进制说明Network第一个数字的定义:
    在这里插入图片描述
    五种分级的十进制表示:
    在这里插入图片描述

  2. Private IP
    早在 IPv4 规划的时候就担心 IP 会有不足的情况,而且为了应付某些企业内部的网络设定,于是就有了私有 IP (Private IP) 的产生了。私有 IP 也分别在 A, B, C 三个 Class 当中各保留一段作为私有 IP 网段,分别是:
    Class A:10.0.0.0~10.255.255.255
    Class B:172.16.0.0~172.31.255.255
    Class C:192.168.0.0~192.168.255.255

  3. lo网络:127.0.0.0/8
    lo网络是指主机内部还回网络,主要用于主机测试。

  • 子网掩码Netmask
    子网掩码是用来表示Net_ID和Host_ID的,举例来说:
    Netmask
    子网掩码还被用来实现子网划分:
    在这里插入图片描述

  • 路由
    在同一物理网段中,IP地址设置为同一网域,各主机之间可以直接通讯;当IP不在同一网段中时,各主机无法直接通讯,需要经过网关的转递。流程如下:
    1.查询IP数据包的目标IP
    2.查询是否位于本机所在的网络路由表中
    3.查询默认路由
    4.送出数据包至Default Getway后,不予理会

    Linux中查询路由表:route
    在这里插入图片描述

  • ARP协议
    当想要了解某个 IP 是设定于某张以太网络卡上头时,主机会对整个区网发送出 ARP 数据包,对方收到ARP数据包后就会传回他的MAC,主机就会知道对方所在网卡。

3.TCP/IP传输层

  • TCP协议:面向连接、可靠
    TCP数据包封装格式:
    在这里插入图片描述
    TCP报头:
    在这里插入图片描述

  • TCP三次握手
    在这里插入图片描述

  1. A:数据包发起
    当客户端想要对服务器端联机时,就必须要送出一个要求联机的数据包,此时客户端必须随机取用一个大于 1024 以上的端口来做为程序沟通的接口。然后在 TCP 的表头当中,必须要带有 SYN 的主动联机(SYN=1),并且记下发送出联机数据包给服务器端的序号 (Sequence number = 10001) 。
  2. B:数据包接收与确认数据包传送
    当服务器接到这个数据包,并且确定要接收这个数据包后,就会开始制作一个同时带有 SYN=1, ACK=1 的数据包, 其中那个 acknowledge 的号码是要给 client 端确认用的,所以该数字会比(A 步骤)里面的 Sequence 号码多一号 (ack = 10001+1 = 10002), 那我们服务器也必须要确认客户端确实可以接收我们的数据包才行,所以也会发送出一个 Sequence (seq=20001) 给客户端,并且开始等待客户端给服务器端的回应。
  3. C:回送确认数据包
    当客户端收到来自服务器端的 ACK 数字后 (10002) 就能够确认之前那个要求数据包被正确的收受了, 接下来如果客户端也同意与服务器端建立联机时,就会再次的发送一个确认数据包 (ACK=1) 给服务器,亦即是 acknowledge = 20001+1 = 20002 。
  4. D:取得最后确认
    若一切都顺利,在服务器端收到带有 ACK=1 且 ack=20002 序号的数据包后,就能够建立起这次的联机了。
  • UDP协议:无连接、不可靠
    在这里插入图片描述

总结

本篇文章对网络基础知识点进行了概括,重点关注IP、子网掩码和TCP的三次握手。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186873.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 服务熔断与服务降级详解

    服务熔断与服务降级详解为深入理解服务雪崩解决方案中服务熔断和服务降级两个方式,在这儿做一个详解服务熔断什么是服务熔断:当下游的服务因为某种原因突然变得不可用或响应过慢,上游服务为了保证自己整体服务的可用性,不再继续调用目标服务,直接返回,快速释放资源。如果目标服务情况好转则恢复调用服务熔断的原理:业内普遍采用断路器模式原理:当远程服务被调用时,断路器将监视这个调用,如调用时间太长,断路器将会介入并中断调用。此外,断路器将监视所有对远程资源的调用,如对某一个远程资源的调用失败次数足够多,那么断路器

    2022年10月20日
  • 构建vscode的vue组件代码补全插件以及上传

    构建vscode的vue组件代码补全插件以及上传

  • 阿里云服务器开放端口如何设置_阿里云服务器8888端口

    阿里云服务器开放端口如何设置_阿里云服务器8888端口阿里云服务器开放端口阿里云服务器默认是只开放了部分端口,我们部署自己的服务需要监听一下80,8080等端口时,就需要自己设置安全策略,本文介绍如何设置阿里云的安全组,开放需要的端口步骤点击阿里云的的控制台点击进入云服务器点击进入安全组菜单,点击创建安全组按钮,添加一个新的安全组2.进入创建新安全组页面填写一下必要的信息,然后配置访问规则,包括入站和出站,点击手动添加一条,设置开放所有的端口,包括端口和授权对象,点击创建安全组按钮,将创建一条新的安全组出站我们也可以配置,默

  • random函数用法笔记

    random函数用法笔记1.导入random模块importrandom2.生成(n,m)之间的随机整数>>>importrandom>>>a=random.randint(1,10)#1<=a<=10且n,m大小必须n<m>>>print(a)3>>>3.取0-1之间随机浮点数…

  • JavaScript ES6 Arrow Functions(箭头函数)

    JavaScript ES6 Arrow Functions(箭头函数)

  • idea2022激活码永久jar【2022免费激活】「建议收藏」

    (idea2022激活码永久jar)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号