网络协议
文章平均质量分 90
网络协议有关博客
shadow___h
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
网络知识的简单梳理
文章目录应用层协议DNSHTTPHTTPS传输层协议TCPUDP网络层协议IPICMPMTUNATARP和 RARP数据链路层PPP 点对点协议应用层协议DNS当在浏览器中输入一个网址的时候,一般的都需要进行DNS域名解析将其转化成IP地址,若是输入的直接为IP地址,则不需要解析。过程1)找浏览器的缓存查找对应的IP地址2)找操作系统的hosts文件中是否这个网址的映射3)找本机的DNS解析器缓存,是否有网址映射关系HTTPhttp请求协议1. http请求报文# 请求原创 2021-03-14 23:00:47 · 258 阅读 · 0 评论 -
NAT,IPV6与路由控制
NAT机制是为了面对日益枯竭的IPV4的IP地址而应入的一种机制,但是IPV6中也会引入这种机制来保证一定的网络安全。NAT机制简单来说就是把一种把全局IP和私有IP相互转换的一种技术,举个列子,一个宿舍的电脑组成了一个局域网,每个人的电脑都有自己的私有IP,我们宿舍的人互相通信的时候就是在这个局域网中用自己的私有IP,但是当我们要和外网进行通信的时候,就要使用到NAT了,NAT将我们的私有IP转换成全局IP然后和外网通信,外网发过来的信息又通过NAT机制将全局IP转换成私有IP,然后传输到对应的电脑。原创 2020-10-14 19:53:57 · 689 阅读 · 0 评论 -
当我们从往浏览器输入一个网址的时候,其后台是咋样给我们这个网址的页面的过程
当我们在百度输入一个url请求的时候。1.首先,URL会触发DNS(这个会先看浏览器缓存,在查hosts文件,再查DNS服务器。注释:hosts文件就是一个系统文件,可以加快打开网址的速度,内容一般是与之对应的网址和IP地址)。DNS服务器时注册加入DNS的任何计算机,他有着一个域名和IP地址的索引,当被请求时,它可以告诉您与域名相关联的当前的IP地址。其实就是将熟悉的地址解析成计算机可以理解的IP地址。2.然后就会构造HTTP协议的数据报,根据方法时get还是post决定将内容放在header或者bo原创 2020-10-13 22:00:01 · 273 阅读 · 0 评论 -
一篇博客带你认识TCP的十个机制
TCP是一个面向连接的传输层协议。为了保证数据传输的可靠传输,它使用了三个机制确认应答,当主机A给主机B传输数据的时候,主机A给主机B一个数据序号,而主机B接受到数据之后会给主机A一个确认序号。来让主机A知道主机B已经接受到了数据。**超时重传,**当主机A在一定时间内没有接受到主机B的确认序号,主机A就会给主机B从新发送这个数据。有两种可能,一种是主机A给主机B发送的数据丢了,一种是主机B返回的确认序号丢了。这两种情况都会导致超时重传,第二种情况的下主机B发现自己已经接受了这个数据,那木就会原创 2020-10-12 22:23:09 · 255 阅读 · 0 评论 -
传输层协议的端口号
数据链路和IP层中地址分别是MAC地址和IP地址。MAC地址用来识别同一链路中的不同的计算机,后者用来识别TCP/IP网络中互联的路由器和主机。端口号是就是传输层的地址,用来识别同一主机中的应用程序,别称为程序地址。那木我们就知道两个主机之间的通信就是通过IP地址(目的IP和源IP),协议号,和端口号(目的端口和源端口)来进行通信识别。端口号是如何别确定的标准既定的端口号。静态方法,每个程序都有其指定的端口号。这种方法下一般端口号的取值范围是1024到49151(这些端口号都被注册了),而0~到1原创 2020-10-11 22:27:51 · 2645 阅读 · 0 评论 -
ARP协议 ICMP协议
这两个协议都是网络层协议ARP协议是一个解决地址问题的协议,通过IP地址位线索,解析出对应的MAC地址。如果目标主机不在链路上,可以通过ARP来查找下一跳路由器对应的MAC地址ARP的工作机制ARP请求包一般是广播出去的,然后有主机发现广播出去中的IP地址和自己的地址一致,才会回应发送一个ARP响应包。而为了减少链路消耗,一般会有一个MAC缓存来缓存这些MAC地址,MAC地址的缓存有一定的期限,过了期限就会被清楚。ICMP协议ICMP协议是辅助IP协议进行工作的一种协议,来进行确认网原创 2020-10-10 21:52:53 · 732 阅读 · 0 评论 -
IP地址以及IP地址的分类和CIDR
IP地址(ipv4)是由32位正整数表示,TCP/IP通信要求将这样的ip地址分配给分给每一个参与通信的主机。IP地址由网络和主机两部分标识组成。网络标识必须保证相互连接的每个段地址不同,而相同的段内的主机必须有相同的网络地址,相同的主机标识不能在同一个段内出现。这样就可以通过设置网络地址和主机地址来保证在互相连接的网络中每一个主机的地址都不相同,这样就保证了IP地址的唯一性。一般现在以子网掩码来区分网络地址和主机地址,子网掩码为多少,那木网络地址就有多少位。IP地址一般分为四个级别:A类,B类,C类,原创 2020-10-07 22:19:07 · 591 阅读 · 0 评论 -
数据链路层的点对点协议(ppp协议)
数据链路的主要作用是在相互连通的一种数据链路的节点之间进行包传递。一旦要跨越多种数据链路就要使用网络层。而数据链路层想要发挥自己的作用,一般现在使用的都是PPP协议(以前使用的是HDCL高级数据链路控制协议)。而点对点协议之所以可以被广泛使用,就是因为它具有以下特点提供不可靠的数据服务简单 它每接受一个数据帧的时候,进行差错检验(CRC检验),若是无差错则接受,若是错了,丢弃这个帧,其他啥也不做。封装成帧 ppp协议必须规定帧界定符(一个帧的开始和结束的标志)。透明性 ppp协议保证了数据原创 2020-10-05 17:00:18 · 1264 阅读 · 0 评论 -
以太网交换机的转发原理以及啥是CSMA/CD协议
半双工通信就是可以发送信息和接受信息 但不能同时接受信息和发送信息全双工通信就是可以同时发送信息和接受信息以太网为了通信的简便,主要采取了两种措施一是采用了无连接的工作方式二是所发送的数据都是曼彻斯特编码的数据以太网中的CSMA/CD协议主要特点以及干了啥他首先是多点接入的,是总线型网络。协议的实质就是“载波监听”和“碰撞检测”比如A和B主机在一条总线上,他们想发送信息的时候,要看这个总线是否空余,若是空余才可以发送信息,相当于两个人能过独木桥,一个人在上面,另一个就不能原创 2020-10-04 23:11:29 · 2465 阅读 · 0 评论 -
TCP/IP分层模型
我们知道在TCP/IP分层模型之中,从最上层到最下层,每一层的数据往下穿的时候都会给自己所获得的数据加上一个首部,而每一个首部都由这层的协议的具体规范详细定义。怎木说呢,运输层得到应用层的数据,加上一个TCP首部,然后向下传给网络层,而网络层得到的数据就是应用层的数据加上TCP包首部,网络层在根据自己的协调加上一个IP包首部。而到数据链路层直接将这IP数据报封装成帧,传递给物理层,物理层将其转化bit流,再以电信号的方式传递出去。而解析的时候恰好与此相反,将其头部一层层解析下来,再传递给应用层。达到数据原创 2020-10-02 22:33:13 · 280 阅读 · 0 评论 -
TCP/IP与OSI参考模型
OSI参考模型与TCP/IP模型分层上的对应与区别而我们一般所说的五层协议为 物理层,数据链路层,网络层,传输层,与应用层,分别对应左边的图形。首先我们来了解物理层,这是tcp/ip的最底层,负责数据的传输的硬件,就相当于以太网或电话线等物理层的设备。就是把数据帧转换成bit流。而数据链路层,相当于一个接口,是在操作系统和硬件之间起到之间起到桥梁作用。将网络层上的IP数据报组装成帧,在两个两个邻点之间传送数据的时候。通过网络层,可以抽象化乃至忽略网络结构的细节,只要就是ip数据包的转发。负责分组交原创 2020-09-29 21:31:47 · 167 阅读 · 0 评论 -
网络体系结构中的一些基本概念
啥是无连接简单的来说就是舔狗单方面的输出,女生一点回应都没有,而舔狗不管女生是否有回应,一直都在给女生发消息,也就是说主机A在给主机B发消息的时候并没有建立连接,主机A不能保证主机B是否能够接受到自己的消息。啥是有连接简单的理解的话就是我们打电话,甲给乙拨通电话后会说喂你听的到吗,而乙会说我听得到反问甲你听的到嘛,甲会说我听得到,这个就是一个建立连接的过程,确保两方的都可以听到对方的话。也就是说两个主机在发送消息的时候会确定对方是否可以接受到自己的消息,当连连接建立后双放才会开始通信。分组交原创 2020-09-28 20:31:14 · 271 阅读 · 0 评论 -
实现一个http的简单网络编程
package HTTPV3;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Map;//请求public class HttpRequest { //首行 方法 url(“&和=”) 版本号原创 2020-07-09 14:34:47 · 244 阅读 · 0 评论 -
Java中啥是工厂模式(方法)
众所周知,java中创建一个新的对象,一般都是需要new这个关键字的。而在我们接触到有些代码的时候,当我们创建一个新的对象的时候,并没有使用这个new关键字。比如创建一个线程池。ExecutorService executorService = Executors.newCachedThreadPool();这里的原因主要是因为java方法的重载,而有些方法的是不构成重载,但是方法的名字,返回值,形参类型和个数都相同,但是方法中具体的实现内容是不同的的。举个例子class Point {原创 2020-06-27 21:32:51 · 296 阅读 · 0 评论 -
HTTP中header的常见类型以及作用
我们知道无论是http报文中的响应还是请求,里面都是含有header的,而header都是一个个键值对组成的那木header都有那些常见类型呢Content-Type: 数据类型(text/html等)Content-Length: Body的长度 (注意,长度以字节为单位)Host: 客户端告知服务器, 所请求的资源是在哪个主机的哪个端口上 ,若是没写端口号,端口号一般为默认值,看具体的操作系统及主机。User-Agent: 声明用户的操作系统和浏览器版本信息referer: 当前页面是从哪原创 2020-06-27 19:32:28 · 3592 阅读 · 0 评论 -
Http协议的简单介绍
http协议是在应用层上的一个协议,用浏览器打开一个网址,大多使基于http协议来传输的。1.我们需要认识啥是URL在我们中俗称的网址就是一个URL,我们https://www.baidu.com/,这个https就是网站所使用的协议。www.baidu.com就是域名,和ip地址等价,而这里面一般是隐含着一个端口号。https://www.baidu.com/s 最后面的s相当于在服务器上获取/s这样的文件,并且显示在浏览器上。是访问服务器上具体的资源(path),URL中对应的path不同的原创 2020-06-27 09:47:00 · 406 阅读 · 0 评论 -
TCP中最简单的网络编程
其实写过一次UDP的,对于这个就简单很多了客户端package TCP;import java.io.*;import java.net.Socket;import java.util.Scanner;public class TcpEchoClient { //1.启动客户端和服务器建立连接 //2.进入主循环 // a.读取用户输入内容 // b.构造一个请求发送个服务器 // c.读取服务器的响应数据 // d.把响应数原创 2020-06-25 21:02:26 · 256 阅读 · 0 评论 -
UDP中最简单的网络编程(但是我头大)
服务器package UDP;import java.io.IOException;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;public class UdpEchoServer { //对于一个服务器程序来说,核心流程也是要分成两步 //1.进行初始化操作(实列化socket对象) //2.进入主循环,接受并处理请求原创 2020-06-25 20:55:01 · 164 阅读 · 0 评论 -
网络原理 TCP/IP五层模型
应用层:与应用程序直接相关的协议传输层:负责端到端之间的传输(只需要关注起点和终点)网络层:负责点到点之间的传输(需要规划路径,怎样走,相当于计划经过那个地方最终到达目的地)数据链路层:负责相邻点之间的传输(如何走,相当于是乘车还是走步)物理层:网络通信之间的基础硬件设施(纯硬件的)上层协议调用下层协议,下层协议给上层协议提供服务每一层的协议在互相配合,都离不开封装和分用。传输的时候:应用层将应用程序提供的信息,做成一个应用数据报,然后传递给传输层传输层将这个应用数据报进行封装,加..原创 2020-06-21 20:54:20 · 451 阅读 · 0 评论
分享