网络层

计算机网络面试题4

醉酒当歌 提交于 2019-11-28 10:28:51
计算机网络学习的核心内容就是网络协议的学习。网络协议是为计算机网络中进行数据交换而建立的规则、标准或者说是约定的集合。因为不同用户的数据终端可能采取的字符集是不同的,两者需要进行通信,必须要在一定的标准上进行。一个很形象地比喻就是我们的语言,我们大天朝地广人多,地方性语言也非常丰富,而且方言之间差距巨大。A地区的方言可能B地区的人根本无法接受,所以我们要为全国人名进行沟通建立一个语言标准,这就是我们的普通话的作用。同样,放眼全球,我们与外国友人沟通的标准语言是英语,所以我们才要苦逼的学习英语。   计算机网络协议同我们的语言一样,多种多样。而ARPA公司与1977年到1979年推出了一种名为ARPANET的网络协议受到了广泛的热捧,其中最主要的原因就是它推出了人尽皆知的TCP/IP标准网络协议。目前TCP/IP协议已经成为Internet中的“通用语言”,下图为不同计算机群之间利用TCP/IP进行通信的示意图。 回到顶部 1. 网络层次划分   为了使不同计算机厂家生产的计算机能够相互通信,以便在更大的范围内建立计算机网络,国际标准化组织(ISO)在1978年提出了“开放系统互联参考模型”,即著名的OSI/RM模型(Open System Interconnection/Reference Model)。它将计算机网络体系结构的通信协议划分为七层,自下而上依次为:物理层

什么是Socket:

时间秒杀一切 提交于 2019-11-28 08:54:14
先了解一些前提: 网络由下往上分为 物理层 、数据链路层 、 网络层 、 传输层 、 会话层 、 表现层 和 应用层。 通过初步了解,我知道IP协议对应于网络层,TCP协议对应于传输层,而HTTP协议对应于应用层。 TCP/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP协议是应用层协议,主要解决如何包装数据。 关于TCP/IP和HTTP协议的关系,网络有一段比较容易理解的介绍: 我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。如果想要使传输的数据有意义,则必须使用到应用层协议。 应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。 WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。” 什么是Socket: 网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。 建立网络通信连接至少要一对端口号(socket)。 socket本质是编程接口(API),对TCP/IP协议的封装。 它的出现只是使得程序员更方便地使用TCP/IP协议栈而已。 socket本身并不是协议,它是应用层与TCP/IP协议族通信的中间软件--抽象层,是一组调用接口(TCP/IP网络的API函数) TCP

Linux性能优化从入门到实战:17 网络篇:网络基础

耗尽温柔 提交于 2019-11-28 06:21:37
网络模型 为了解决网络互联中异构设备的兼容性问题,并解耦复杂的网络包处理流程,国际标准化组织制定了开放式系统互联通信参考模型(Open System Interconnection Reference Model),简称 OSI 网络模型。OSI 模型把网络互联的框架分为应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层等 七层网络模型 ,每个层负责不同的功能。 应用层 Application,负责为应用程序提供统一的接口。 表示层 Presentation,负责把数据转换成兼容接收系统的格式。 会话层 Session,负责维护计算机之间的通信连接。 传输层 Transport,负责为数据加上传输表头,形成数据包。 网络层 Network,负责数据的路由和转发。 数据链路层 Data Link,负责 MAC 寻址、错误侦测和改错。 物理层 Physical,负责在物理网络中传输数据帧。 更为实用的 四层网络模型 ,即 TCP/IP 网络模型。 应用层,负责向用户提供一组应用程序,比如 HTTP、FTP、DNS 等。 传输层,负责端到端的通信,比如 TCP、UDP 等。 网络层,负责网络包的封装、寻址和路由,比如 IP、ICMP 等。 网络接口层,负责网络包在物理网络中的传输,比如 MAC 寻址、错误侦测以及通过网卡传输网络帧等。 Linux 网络栈 TCP/IP

计算机网络OSI个人见解

我与影子孤独终老i 提交于 2019-11-28 06:19:47
计算机网络协议(OSI模型) 2019-06-09 *** OSI七层模型 计算机网络中较为重要的就是ISO(国际标准化组织)所制定的OSI七层网络模型,如图所示: 目前数据之间的通信都是以这个模型为标准进行传输,举个例子: 用户的浏览器可以看做是客户端,用户在网页去访问一个页面的时候就会按照OSI的标准进行传输,而目前基本所有的浏览器遵循的都是Http协议进行数据交互,这里的$\color{red}{http}$其实就是应用层所遵循的协议之一,下面我将讲述一下我对七层协议的理解: 物理层 顾名思义,所谓的物理层就是根据光纤类型,网线类型以及各种传输速率将比特流(一串二进制数据)转换成强弱电流进行传输,接收端也同样具备$\color{red}{物理层}$将强弱电流转换成比特,也就是所谓的数模转换和模数转换,然后数据会进入下一层数据链路层。比较常见的物理层就是网卡。 数据链路层 数据链路层主要目的是通过纠错码保证数据的可靠性,将错误数据进行尝试修正,无法修正的数据进行重发处理,它将从物理层获取到的比特流转换成帧然后传输到网络层。比较常见的就是交换机。 网络层 网络层IP地址和数据链路层mac地址详解 为了从成千上万个网络节点中找到最佳节点,网络层孕育而生,它的主要目的是通过ARP协议(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送

计算机网络之网络层

浪子不回头ぞ 提交于 2019-11-28 05:54:19
计算机网络之网络层 网络层(network layer) - 为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把运输层产生的报文段或用户数据报封装成分组或包进行传送。 主要协议: IP 、 ICMP 。 数据单元:IP 数据报(packet)。 典型设备:网关、路由器。 概述 IP 协议 相关协议 分类的 IP 地址 IP 地址与物理地址 IP 数据报格式 地址解析协议 ARP 网际控制报文协议 ICMP 1. Ping 2. Traceroute 虚拟专用网 VPN 网络地址转换 NAT 路由器的结构 路由器分组转发流程 路由选择协议 1. 内部网关协议 RIP 2. 内部网关协议 OSPF 3. 外部网关协议 BGP 概述 网络层向上只提供简单灵活的、无连接的、尽最大努力交付的数据报服务。网络层不提供服务质量的承诺,不保证分组交付的时限,所传送的分组可能出错、丢失、重复和失序。进程间通信的可靠性由运输层负责。 IP 协议 网际协议 IP (Internet Protocol) 定义了三种功能: IP 定义了在 TCP/IP 互联网上数据传送的基本单元和数据格式。 IP 软件完成路由选择功能,选择数据传送的路径。 IP 包含了一组不可靠分组传送的规则,指明了分组处理、差错信息发生以及分组的规则。 相关协议 与 IP 协议配套使用的还有三个协议: 地址解析协议 ARP

计算机网络概述

一曲冷凌霜 提交于 2019-11-28 05:44:16
计算机网络概述 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 ![](https://img2018.cnblogs.com/blog/1237308/201908/1237308-20190822160655061-1548852226.png) 💡 指南 学习之前,先看一下入门三问: 一、什么是计算机网络? 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。 ——摘自百度百科 二、为什么学习计算机网络? 计算机网络是计算机科学的基础课程,也是计算机专业考研必考科目,可见其重要性。作为一名程序员,了解计算机网络,对于 Web 领域,通信领域的开发有莫大的帮助。 在浏览器中访问网页的原理是什么?Wifi 是如何工作的?防火墙是如何保障网络安全的?什么是安全证书?Cookie 和 Session 是什么东西?。。。 如果你接触过这些技术,如果你想了解这些技术的原理,那么你就有必要学习一下计算机网络了。 三、如何学习计算机网络? 本人有 2 年通信领域开发经验,从事通信设备上的协议开发。就我个人的学习经验来看

Linux网络栈

血红的双手。 提交于 2019-11-28 05:43:34
OSI模型 OSI 模型把网络互联的框架分为应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层等七层,每个层负责不同的功能。其中, 应用层,负责为应用程序提供统一的接口。 表示层,负责把数据转换成兼容接收系统的格式。 会话层,负责维护计算机之间的通信连接。 传输层,负责为数据加上传输表头,形成数据包。 网络层,负责数据的路由和转发。 数据链路层,负责MAC寻址、错误侦测和改错。 物理层,负责在物理网络中传输数据帧。 TCP/IP 模型 TCP/IP 模型把网络互联的框架分为应用层、传输层、网络层、网络接口层等四层,其中, 应用层,负责向用户提供一组应用程序,比如 HTTP、FTP、DNS 等。 传输层,负责端到端的通信,比如 TCP、UDP 等。 网络层,负责网络包的封装、寻址和路由,比如 IP、ICMP 等。 网络接口层,负责网络包在物理网络中的传输,比如 MAC 寻址、错误侦测以及通过网卡传输网络帧等。 OSI 模型 与 TCP/IP 模型 的关系 Linux网络栈 有了 TCP/IP 模型后,在进行网络传输时,数据包就会按照协议栈,对上一层发来的数据进行逐层处理;然后封装上该层的协议头,再发送给下一层。 当然,网络包在每一层的处理逻辑,都取决于各层采用的网络协议。比如在应用层,一个提供 REST API 的应用,可以使用 HTTP 协议,把它需要传输的 JSON

计算机网络知识(IP、TCP、UDP)--持续更新

倾然丶 夕夏残阳落幕 提交于 2019-11-28 02:46:40
互联网的两个重要的基本特点:连通性和共享。 计算机网络由若干结点和连接这些结点的链路组成。 互联网的组成:边缘部分、核心部分。 网络边缘的端系统之间的通信可分为两大类:客户-服务器方式(C\S方式)和对等方式(P2P方式);互联网的核心部分:许多网络和把它们互联的路由器。在网络核心中起到特殊作用的是路由器,路由器是实现分组交换的关键构件,其任务是转发收到的分组,是网络核心部分最重要的功能。分组交换采用 存储转发 技术,分组(又称为包)是在互联网中传送的数据单元。 分组交换的优缺点: 优点,高效:动态分配传输带宽;灵活:为每个分组选择最合适的转发路由;迅速:以分组为传输单位;可靠:保证可靠性的协议。 缺点,分组在路由器中存储转发时需要排队,会造成时延;无法确保端到端所需带宽;分组必须携带控制信息造成了额外的开销。 计算机网络分类: 按网络作用范围分类:广域网WAN,城域网MAN,局域网LAN,个人区域网PAN;按网络使用者分类:公用网,专用网。 计算机网络性能指标: 速率、带宽、吞吐量、时延、时延带宽积、往返时间RTT、利用率。 计算机网络体系结构: 一般讲五层协议,从底层到高层分别是:物理层、数据链路层、网络层(IP层)、运输层(TCP或UDP)、应用层(DNS、HTTP、FTP、SMTP等)。 物理层 上传输数据的单位是比特; 数据链路层 将网络层交下来的IP数据报组装成帧

OSI七层与TCP/IP五层网络架构详解

ぃ、小莉子 提交于 2019-11-27 23:49:03
OSI和TCP/IP是很基础但又非常重要的网络基础知识 (1)OSI七层模型 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP 数据链路层 传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU 物理层 以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2 (2)TCP/IP五层模型的协议 应用层 传输层 网络层 数据链路层 物理层 物理层:中继器、集线器、还有我们通常说的双绞线也工作在物理层 数据链路层:网桥(现已很少使用)、以太网交换机(二层交换机)、网卡(其实网卡是一半工作在物理层、一半工作在数据链路层) 网络层: 路由器 、三层 交换机 传输层:四层交换机、也有工作在四层的路由器 二、TCP/UDP协议 TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输

pytorch自定义网络层

Deadly 提交于 2019-11-27 20:51:29
转自: https://blog.csdn.net/dss_dssssd/article/details/82977170 https://blog.csdn.net/dss_dssssd/article/details/82980222 下面是使用squential来自定义网络层的例子: 来源: https://www.cnblogs.com/rainsoul/p/11376180.html