变幻莫测的网络
文章平均质量分 82
了解网络的应用层、传输层、网络层、链路层各层协议,自顶向下打通任督二脉
sermonlizhi
行百里者半九十
展开
-
Web页面请求全流程
Web页面请求的全过程场景:小李刚入职行政人员为他分配了工作电脑,小李用一根网线将电脑连接至工位的交换机上,交换机又与公司的路由器相连,如下图所示。公司的路由器与ISP网络连通,CMNET为中国移动的ISP网络,CMNET为公司提供了DNS服务,DNS服务器驻留在CMNET网络中。假设:DHCP服务器运行在公司路由器上请求过程:IP分配电脑启动后,操作系统封装DHCP应用报文,传输层使用UDP协议的68号客户端端口进行发送,目的地为DHCP服务器的67号端口,传输层将源端口和目标端口放原创 2021-07-09 16:32:08 · 1982 阅读 · 2 评论 -
详解WebSocket协议
一、WebSocket协议WebSocket可以实现客户端与服务器间双向、基于消息的文本或二进制数据传输。它是浏览器中最靠近套接字的API,但WebSocket连接远远不是一个网络套接字,因为浏览器在这个简单的API之后隐藏了所有的复杂性,而且还提供了更多服务:连接协商和同源策略与既有HTTP基础设施的互操作基于消息的通信和高效消息分帧子协议协商及可扩展能力WebSocket是浏览器中最通用最灵活的一个传输机制,其极简的API可以让我们在客户端和服务器之间以数据流的形式实现各种应用数据交换(原创 2021-07-09 16:34:25 · 4237 阅读 · 0 评论 -
详解HTTP协议
一、HTTP简介传输层使用TCP客户端发起一个与服务器的TCP连接(建立套接字),端口号为80服务器接收客户端的TCP连接在浏览器与Web服务器交换HTTP报文(应用层协议报文)TCP连接关闭HTTP是无状态的服务器并不维护关于客户的任何信息维护状态的协议很复杂!必须维护历史信息(状态)如果服务器/客户端死机,它们的状态信息可能不一致,但二者的信息必须一致无状态的服务器能够支持更多的客户端Web服务器启动后,创建一个守护Socket,监听80号端口,当有客户端浏览器发起请求原创 2021-07-09 16:35:37 · 871 阅读 · 1 评论 -
详解DNS域名解析
一、总体思路和目标DNS的主要思路分层的、基于域的命名机制若干分布式的数据库完成域到IP的地址的转换运行在UDP之上端口为53的应用服务核心的Internet功能,但以应用层协议实现在网络边缘处理复杂性DNS主要目的实现主机名-IP地址的转换(name/IP translate)其他目的主机别名到规范名称的转换邮件服务器别名到邮件服务器正规名的转换负载均衡DNS域名结构一个层面命名设备会有很多重名DNS采用层次树状结构的命名方法Int原创 2021-07-09 16:38:22 · 416 阅读 · 0 评论 -
FTP协议简介
一、FTP文件传输协议传输层使用TCP协议,向远程主机上传输文件或从远程主机接收文件,服务器端口号为21控制连接和数据连接分开:控制连接在21号端口,数据连接在20号端口请求文件资源过程:FTP客户端与FTP服务器通过端口21联系,并使用TCP为传输协议客户端通过控制连接获得身份确认(用户名/密码)客户端通过控制连接发送命令浏览远程目录(list)收到一个传输文件命令时,服务器主动打开一个到客户端的数据连接一个文件传输完成后,服务器关闭当前数据连接服务器打开第二个TCP数据连接用来传输原创 2021-07-09 16:39:15 · 691 阅读 · 0 评论 -
Email协议简介
一、组成部分电子邮件的发送和接收包含三个主要组成部分用户代理又名”邮件阅读器“撰写、编辑和阅读邮件如Outlook、Foxmail输出和输入邮件保存在服务器上邮件服务器邮箱中管理和维护发送给用户邮件输出报文队列保持发送邮件报文,发送到每个用户的邮箱中邮件服务器维护所有用户代理发送过来的邮件,存放在邮件服务器队列中,由邮件服务器发送到目标邮件服务器,接收方通过用户代理从目标邮件服务器拉取邮件简单邮件传输协议:SMTP二、邮件传输协议:SMTP使用TCP在客户原创 2021-07-09 16:40:32 · 1689 阅读 · 0 评论 -
详解CDN
多媒体流化服务:将视频文件分解为多个视频流,视频突出的特征是高比特率,压缩的因特网视频比特率范围通常从低质量视频的100kbps,到流式高分辨率电影的3Mbps,再到当前4K的超过10Mbps。一、DASH(Dynamic Adaptive Streaming orver HTTP)在DASH中,视频编码为几个不同的版本,每个版本提供不同的比特率服务器:将视频文件分割成多个块每个块独立存储,编码于不同比特率(8-10种)告示文件(manifest file):提供不同块的URL及比特率客原创 2021-07-09 16:41:49 · 140 阅读 · 0 评论 -
应用层原理
进程标志和寻址问题(服务用户)进程为了接收报文,必须有一个标识,即SAP主机:唯一的32位IP地址仅仅由IP地址还不能够唯一标识一个进行,一台端系统上有很多应用进程在运行所采用的传输层协议:TCP/UDP端口号(Port Numbers)2^16=65525一些知名端口号HTTP:TCP 80 Mail:TCP 25 FTP:TCP 21/20一个进程用IP+Port标识端节点传输层提供的服务位置:层间界面的SAP(TCP/IP:socket)形式原创 2021-07-09 16:48:27 · 137 阅读 · 1 评论 -
可靠数据传输原理
一、杂记延时传输延时:发送端将分组数据报发送到数据链路的时间传播延时:分组数据报在物理链路中传播的时间排队延时:分数数据报在网络节点队列中排队的时间流量强度:I = La/RR:物理链路的带宽(bps bit peer second)L:分组长度(bits)a:分组到达队列的平均速率I ~ 0:平均排队延时很小(队列等待分组少)I ~ 1:延时变的很大(队列等待分组增多)I > 1:数据到达队列的速率超过了队列输出的速率(数据传播速 度大于节点的数据处理速度),平原创 2021-07-09 16:49:27 · 330 阅读 · 0 评论 -
传输层拥塞控制
一、拥塞控制原理拥塞控制方法端到端拥塞控制没有来自网络的显示反馈端系统系统延迟和丢失时间推断是否有拥塞TCP采用这种方法网络辅助的拥塞控制路由器提供给端系统以反馈信息单个bit位置,显示有拥塞(SNA,DECbit TCP/IP ECN,ATM)显示提供发送端可以采用的速率二、TCP拥塞控制发送方的TCP拥塞机制跟踪一个额外的变量,即拥塞窗口(congestion window),表示为cwnd,它对TCP发送方能够向网络中发送流量的速率进行控制。TCP原创 2021-07-10 09:38:03 · 1171 阅读 · 0 评论 -
详解TCP协议
TCP简介点对点一个发送方,一个接收方可靠的、有序的字节流管道化(流水线)TCP拥塞控制和流量控制设置窗口大小发送和接收缓存发送方和接收方都有存放报文段的缓冲区和滑动窗口全双工数据在同一个连接中数据流双向流动一个连接的双方,既是发送方,也是接收方MSS:最大报文段大小(1460字节)上层应用把请求报文发送到TCP传输层,TCP传输层将请求报文按照规定的报文段大小分成若干了小的请求报文,再给这些请求报文加上TCP头部消息,组装成TCP报文段;在IP层,再将报原创 2021-07-10 09:37:29 · 342 阅读 · 0 评论 -
Socket编程原理
一、TCP套接字编程服务器进程必须先处于运行状态创建一个监听socket(或欢迎socket)和本地端口绑定(指定监听socket的监听端口)监听socket阻塞等待接收客户端的连接监听socket只有服务器IP地址和程序端口号,格式如下:socket | ip:port|创建客户端本地套接字(隐式绑定到本地Port)客户端绑定的Port由传输层自行分配指定服务器进程的IP地址和port端口号当有客户端连接请求到来服务器的监听socket接收到来自客户端的请求,原创 2021-07-10 09:37:11 · 223 阅读 · 0 评论 -
详解IP协议(上)
一、网络核心线路交换(电路交换)适用于电话网络(固话/移动电话),连接建立时间长,独立资源,不共享,每个呼叫一旦建立就能够保证性能,不适合计算机之间的通信网络资源(如宽带)被分成片为呼叫分配片,如果某个呼叫没有数据,则资源处于空闲状态(不共享)将宽带分成片的方式:频分、时分、波分频分(FDM):将链路上的有效通信频率范围划分成若干个片,选择某个空闲的片进行通信时分(TMD):将时间周期分成若干个片,每个时间片给不同的用户使用波分(WDM):将链路间的波段可以分为若干个小的波段原创 2021-07-10 09:36:53 · 153 阅读 · 0 评论 -
详解IP协议(下)
一、网络层控制层面路由选择算法用无向图来表示网络结构,G=(N,E)表示一个N个节点和E条边的集合,其中每条边是取自N的一对节点。对于E中的任一条边(x,y),我们用c(x,y)表示节点x和y间边的开销,如果节点(x,y)不属于E,则置c(x,y)=无穷大;如果(x,y)属于E,节点y被称为节点x的邻居。G=(N,E)中的一条路径是一个节点序列(x1,x2,x3……xp),这样每一对(x1,x2),(x2,x3)……(xp-1,xp)是E中的边,给定任何两个节点x和y,通常这两个节点之间有许多条路径,原创 2021-07-10 09:32:54 · 121 阅读 · 0 评论 -
详解网络链路层协议(上)
一、链路层提供的服务成帧链路层协议将上层数据用链路层帧封装起来,一个帧由一个数据字段(网络层数据报)和若干首部字段组成链路接入媒体访问控制(Medium Access Control,MAC)协议规定了帧在链路上传输的规则。在点对点链路中,MAC协议比较简单,但在多个节点共享单个广播链路时,即多路访问问题,MAC协议用于协调多个节点的帧传输可靠交付当链路层提供可靠的交付服务时,保证无差错的经过链路层移动每个网络层数据报。一般对于低比特差错的链路(有线介质),其出错率很低,没必要浪费性原创 2021-07-10 09:32:35 · 732 阅读 · 0 评论 -
详解网络链路层协议(下)
一、交换局域网路由器:具有网络层、链路层和物理层功能,具有IP路由和链路帧转发的功能 交换机:具有链路层和物理层功能,只负责链路帧的转发 在链路层对数据帧转发时,需要知道每个出口对应的MAC地址(物理地址),根据MAC地址将 数据帧从该出口传出MAC地址并不是主机或路由器具有链路层地址,而是它们的适配器(网卡/网络接口)具有链路层地址。因此具有多个网络接口的主机或路由器将具有与之相关联的多个链路层地址。链路层地址有各种不同的称呼:LAN地址(LAN address)、物理地址(physi原创 2021-07-10 09:32:22 · 417 阅读 · 0 评论 -
详解Cookie和Session
会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话 常用的会话跟踪技术是Cookie与Session。 Cookie通过在客户端记录信息确定用户身份 Session通过在服务器端记录信息确定用户身份 本文将系统地讲述Cookie与Sessi...转载 2021-07-21 09:12:26 · 341 阅读 · 0 评论