计算机网络

计算机网络(笔记)

佐手、 提交于 2021-01-20 07:40:14
最近在读 Tanenbaum的计算机网络,在此做点读书记录,以供后续查看。 计算机网络分类:传输技术和网络尺度两种维度。传输技术又可分为点对点网络和广播网络。网络尺度可分为个域网,局域网,城域网,广域网等。 子网,网络和互联网络:术语“子网”在广域网的上下文中才有意义,它指网络运营商用有的一组路由器和通信线路。一个子网和它的主机结合在一起就构成了网络。网络的最初定义:由一种单一技术相互连接在一起的计算机网络的集合。 将两个或多个网络连接起来并提供必要转换的机器,其硬件和软件方面的总成是网关。 层和协议的集合成为网络体系结构。一个特定的系统所使用的一组协议,即每层一个个协议,成为协议栈。 可靠通信的含义是指有确认。 一个服务由一组原语(primitive)正式说明,用户进程通过这些原语来访问该服务。如果协议栈位于操作系统中,这些原语通常是一些系统调用。 物理层规定了如何在不同介质上利用电气信号传输比特。链路层关注的是如何再两台直接相连的计算机之间发送有限长度的消息,并具有指定级别的可靠性。网络层主要处理如何把多条链路结合到网络中,以及如何把网络与网络连接成互联网。传输层增强了网络层的传递保证,同时提供了数据交付的抽象,比如满足不同应用层的可靠的字节流。 来源: oschina 链接: https://my.oschina.net/u/252573/blog/167495

TCP/IP协议卷一:第一章

只谈情不闲聊 提交于 2021-01-11 08:14:26
TCP/IP协议族的四个基本层次表现。 及互联网地址的分类: A类地址为:0.0.0.0-127.255.255.255 B类地址为:128.0.0.0-191.255.255.255 C类地址为:192.0.0.0-223.255.255.255 D类地址为:224.0.0.0-239.255.255.255 C类地址为:240.0.0.0-255.255.255.255 很明显这个地址就是个A类地址。 来源: oschina 链接: https://my.oschina.net/u/243094/blog/117856

光纤网络的相关知识

陌路散爱 提交于 2020-04-08 11:02:40
FC(Fibre Channel)是美国国家标准协会(ANSI)制定的一种串行数据协议,它是高性能的混合接口,它支持FDDI(光纤分布式数据接口),PI(高效并行接口),IPI(智能外围接口),SCSI(小型计算机系统接口),ATM(异步传输模式)等多种高姐协议,可实现大容量,高速度和高效的信息传输。FC的最大特性就是将网络和设备的通信协议与传输物理介质隔离开,多种协议可以在同一物理连接上传输,高性能存储体和宽带网络使用单一的I/O接口互联。同时,它还支持热插拔。 FC由五个功能不同的层次组成: FC-0,为最底层,定义物理连接,包括光纤、连接器等的物理特性,传输速度和光电参数等。 FC-1,定义了传输协议包括串行的编解码原理,特殊字符和错误可控制。 FC-2,信号协议层,定义了端口之间转移的数据帧格式和协议。 FC-3,公共服务层,被用了提供高级特性所需求的公共服务,例如,多点广播(发送一个信息到多个端口)等。 FC-4,FC结构中的最高层,定义了能执行光纤通道的应用接口。例如,SCSI, IPI, IP, ATM等。 FCoE(Fibre Channel over Ethernet)以太网光纤通道。是由数家IT厂商向美国国家标准协会(ANSI)T11委员会提交的一种新技术标准的提,2009年6月标准完成(FC-BB-5)。FCoE基于FC模型而来,仍然使用FSPF和WWN/FC

网络编程

限于喜欢 提交于 2020-04-07 21:16:35
一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据,你要怎么做呢? 这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.py从这个文件中读取内容就可以了。 但是当你的a.py和b.py分别在不同电脑上的时候,你要怎么办呢? 类似的机制有计算机网盘,qq等等。我们可以在我们的电脑上和别人聊天,可以在自己的电脑上向网盘中上传、下载内容。这些都是两个程序在通信。 回到顶部 二.软件开发的架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构~ 1.C/S架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。 这里的客户端一般泛指客户端应用程序EXE,程序需要先安装后,才能运行在用户的电脑上,对用户的电脑操作系统环境依赖较大。 2.B/S架构 B/S即:Browser与Server

字节二面问我计算机网络的拥塞控制问题,清明节假,我终于搞明白了...

巧了我就是萌 提交于 2020-04-06 21:31:19
多点头发,少点代码 本文已经收录至我的GitHub,欢迎大家踊跃star 和 issues。 https://github.com/midou-tech/articles 本来想先更新TCP的基础和TCP可靠性等问题的,但是被你们暗示了,就先更流量控制和拥塞控制了。希望龙叔讲的你能搞清楚,如果有不清楚的,可以加龙叔微信一起探讨。 龙叔的号暂时还没开通留言功能(大家要是有留言号,可以贡献一个出来喔😆),大家有什么问题就直接后台回复 龙叔 即可加龙叔微信,享受一对一技术探讨(只要是问我问题的都会回复大家,基本是在晚上十点之后和周末,做好不会秒回的心理准备) 流量控制 讲流量控制之前先花简短的话语絮叨下TCP基础知识,详细知识细节后面会出文章一一道来。 TCP是一种面向连接、保证可靠性、流式传输服务。 面向连接 就是建立链接,也就是面试常问的三次挥手建立链接,四次挥手断开链接。 保证可靠性 到是很好理解,就是你发送的数据尽最大可能保证让接收端接收到。 流式传输 就是传输的数据是以字节流的形式发送和接受(不要硬是和我说,什么字节流传输?明明物理层上都是波信号,这,抱拳。) TCP传输数据都是建立链接之后才进行传输,传输的时候为保证可靠性,也是采用确认应答机制。所谓确认应答机制就是发送数据之后必须收到确认消息,才算一次有效传输。 举个简单栗子,就是你和别人交流之前必须叫别人一声(这位先生你好

计算机网络知识

两盒软妹~` 提交于 2020-04-06 19:26:45
计算机网络 ( 英语: computer network ),通常也简称网络,是利用通信设备和线路将地理位置不同的、功能独立的多个 计算机 系统连接起来,以功能完善的网络 软件 实现网络的 硬件 、 软件 及资源 共享 和 信息 传递的系统。简单的说即连接两台或多台计算机进行 通信 的系统。 网络应用是计算机网络存在的理由,如果我们不使用任何应用,也就没有任何必要去设计它们的网络协议了。 开放系统互连基本参考模型, 只要遵守这个 OSI标准, 任何两个系统都能进行通信. OSI是七层协议体系结构, 而TCP/IP是一个四层协议体系结构, 于是我们采取折中的方法, 学习计算机网络原理的时候往往用的是五层协议的体系结构 : 物理层, 数据链路层, 网络层, 传输层和应用层。 物理层 计算机的世界里只有0和1, 正如你现在所看这篇文章的文字, 存储在计算机中也是一大串0和1的组合. 但是这些数字不能在真实的物理介质中传输的, 而需要把它转换为光信号或者电信号, 所以这一层负责将这些 比特流 (0101)与光电信号进行转换. 如果没有物理层, 那么也就不存在互联网, 不存在数据的共享, 因为数据无法在网络中流动. 数据链路层 数据在这一层不再是以比特流的形式传输, 而是分割成一个一个的帧再进行传输. 网络层 如果只有数据链路层没有网络层, 数据就只能在同一条链路上传输, 不能跨链路传输.

网络协议和管理

强颜欢笑 提交于 2020-04-06 00:37:27
1、简述osi七层模型和TCP/IP五层模型; 物理层 在OSI参考模型中,物理层(Physical Layer)是参考模型的最低层,也是OSI模型的第一层。 物理层的主要功能是:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。 物理层的作用是实现相邻计算机节点之间比特流的透明传送,尽可能屏蔽掉具体传输介质和物理设备的差异。使其上面的数据链路层不必考虑网络的具体传输介质是什么。“透明传送比特流”表示经实际电路传送后的比特流没有发生变化,对传送的比特流来说,这个电路好像是看不见的。 数据链路层 数据链路层(Data Link Layer)是OSI模型的第二层,负责建立和管理节点间的链路。该层的主要功能是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。 在计算机网络中由于各种干扰的存在,物理链路是不可靠的。因此,这一层的主要功能是在物理层提供的比特流的基础上,通过差错控制、流量控制方法,使有差错的物理线路变为无差错的数据链路,即提供可靠的通过物理介质传输数据的方法。 该层通常又被分为介质访问控制(MAC)和逻辑链路控制(LLC)两个子层。 MAC子层的主要任务是解决共享型网络中多用户对信道竞争的问题,完成网络介质的访问控制; LLC子层的主要任务是建立和维护网络连接,执行差错校验、流量控制和链路控制。

Windows Socket编程简介

喜欢而已 提交于 2020-04-03 22:16:03
WinSock编程 使用WinSock API的编程,应该了解TCP/IP的基础知识。虽然你可以直接使用WinSock API来写网络应用程序,但是,要写出优秀的网络应用程序,还是必须对TCP/IP协议有一些了解的。 1. TCP/IP协议与WinSock网络编程接口的关系 WinSock并不是一种网络协议,它只是一个网络编程接口,也就是说,它不是协议,但是它可以访问很多种网络协议,你可以把他当作一些协议的封装。现在的WinSock已经基本上实现了与协议无关。你可以使用WinSock来调用多种协议的功能。那么,WinSock和TCP/IP协议到底是什么关系呢?实际上,WinSock就是TCP/IP协议的一种封装,你可以通过调用WinSock的接口函数来调用TCP/IP的各种功能.例如我想用TCP/IP协议发送数据,你就可以使用WinSock的接口函数Send()来调用TCP/IP的发送数据功能,至于具体怎么发送数据,WinSock已经帮你封装好了这种功能。 2、TCP/IP协议介绍 TCP/IP协议包含的范围非常的广,他是一种四层协议,包含了各种硬件、软件需求的定义。 TCP/IP协议确切的说法应该是TCP/UDP/IP协议。UDP协议(User Datagram Protocol 用户数据报协议),是一种保护消息边界的,不保障可靠数据的传输。TCP协议(Transmission

31.1.http基础知识简介

瘦欲@ 提交于 2020-04-02 12:11:37
TCP/IP协议 跨网络的主机间通讯 在建立通信连接的每一端,进程间的传输要有两个标志: IP地址和端口号,合称为套接字地址 socket address 客户机套接字地址定义了一个唯一的客户进程 服务器套接字地址定义了一个唯一的服务器进程 SOCKET套接字 Socket:套接字,进程间通信IPC的一种实现,允许位于不同主机(或同一主机)上不同进程之间进行通信和数据交换,SocketAPI出现于1983年,4.2 BSD实现 Socket API:封装了内核中所提供的socket通信相关的系统调用 Socket Domain:根据其所使用的地址 AF_INET:Address Family,IPv4 AF_INET6:IPv6 AF_UNIX:同一主机上不同进程之间通信时使用 Socket Type:根据使用的传输层协议 SOCK_STREAM:流,tcp套接字,可靠地传递、面向连接 SOCK_DGRAM:数据报,udp套接字,不可靠地传递、无连接 SOCK_RAW: 裸套接字,无须tcp或udp,APP直接通过IP包通信 客户/服务器程序的套接字函数 套接字相关的系统调用: socket(): 创建一个套接字 bind(): 绑定IP和端口 listen(): 监听 accept(): 接收请求 connect(): 请求连接建立 write(): 发送 read(): 接收

网络数据传输过程分析

家住魔仙堡 提交于 2020-03-30 21:32:19
在现在的生活中,我们已离不开网络了,但网络是如何传输的呢?我们并不知道。下面是我的一些理解,有不对的地方,还请大家指出,我们共同学习。 首先我们要明白我们要明白什么是IP,什么是物理地址,什么是网关。下面由我通俗地解释一下,IP是可变的,它只是代表了你所在的网络区域,并不能代表就是这台计算机。而物理地址却是不可变的,也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。形象的说,物理地址就如同我们身份证上的身份证号码,具有全球唯一性。物理地址与IP地址的区别,形象举个例子,例如你要到某一学校寻找一个同学,你知道他的名字,也知道他的长相,你首先依据他名字先找到他的班级,再依据他的相貌找到他。这里的名字就相当IP地址(可变),长相就物相当于物理地址(不可变)。我们上网所输入的网址其实也是一个IP地址。网关,网关又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。可通俗的说网关是路由器。可在计算机命令窗口输入ipconfig/all,寻找自己IP地址,物理地址。说了这么久,还没开始,现在终于开始了。 网络的传输以下主要说到这些层,应用层,传输层,网络层,数据链路层。要想具体了解其他层,以下有链接。应用层直接和 应用程序 接口并提供常见的网络应用服务。接着是传输层,在了解传输层的时候