网络篇 - 网络基础知识

 

目录:

  1. 计算机网络
  2. 网络七层模型
  3. TCP/IP五层模型
  4. IP
  5. 端口
  6. 协议
  7. URI

 


1. 计算机网络

计算机网络,是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

从逻辑上看,计算机网络是以传输数据为目的的,用通用线路将多个计算机连接起来,所以一个计算机网络由通信介质和计算机设备组成。

网络划分的标准有很多,但是现在一般按照地域来划分:局域网,城域网,广域网和互联网。

 

【以下概念来自百度百科】

  1. 局域网(Local Area Network,LAN)是指在某一区域内由多台计算机互联成的计算机组,一般是方圆几千米以内。局域网可以实现文件管理、应用软件共享、打印机共享、工作组内的日程安排、电子邮件和传真通信服务等功能。局域网是封闭型的,可以由办公室内的两台计算机组成,也可以由一个公司内的上千台计算机组成。
  2. 城域网(Metropolitan Area Network)是在一个城市范围内所建立的计算机通信网,简称MAN,属宽带局域网。由于采用具有有源交换元件的局域网技术,网中传输时延较小,它的传输媒介主要采用光缆,传输速率在100兆比特/秒以上。
  3. 广域网(英语:Wide Area Network,缩写为 WAN),又称广域网、外网、公网。是连接不同地区局域网或城域网计算机通信的远程网。通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,它能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。广域网并不等同于互联网。
  4. 互联网(英语:Internet),又称国际网络,互联网始于1969年美国的阿帕网。是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。通常internet泛指互联网,而Internet则特指因特网。这种将计算机网络互相联接在一起的方法可称作"网络互联",在这基础上发展出覆盖全世界的全球性互联网络称互联网,即是互相连接一起的网络结构。互联网并不等同万维网,万维网只是一建基于超文本相互链接而成的全球性系统,且是互联网所能提供的服务其中之一。

 

注意点:

1. 广域网是网络的一个类别,互联网(internet)是广域网的一个实例。就像山羊是一种羊,但是羊不一定就是山羊。
2. 互联网是线路、协议以及通过TCP/IP协议实现数据电子传输的硬件和软件的集合体。Internet提供的主要服务有万维网(WWW)、文件传输(FTP)、电子邮件E-mail、远程登录(Telnet)等。万维网则存在于互联网之上。它是无数个网络站点和网页的集合,构成了因特网主要的部分。

我画了张图来整理下以上这些名词的关系:
 

 

 

2. 网络七层模型

 

  • 2.1 为什么要划分层级

为了减少网络设计的复杂性,大多数网络都采用分层设计的方法。分层设计的意思就是按照信息流动的过程将网络的整体功能分解为一个个功能层,不同机器上的同等功能层之间采用相同的协议,同一机器上相邻的层级之间通过接口进行信息传递。

 

  • 2.2 七层模型

OSI(Open System Interconnect),即开放式系统互联。 一般都叫OSI参考模型,是ISO(国际标准化组织)组织在1985年研究的网络互连模型。 ISO为了更好的使网络应用更为普及,推出了OSI参考模型。其含义就是推荐所有公司使用这个规范来控制网络,这样所有公司都有相同的规范,就能互联了。

 

(1) 应用层

OSI参考模型中最靠近用户的一层,是为计算机用户提供应用接口,也为用户直接提供各种网络服务。我们常见应用层的网络服务协议有:HTTP,HTTPS,FTP,POP3、SMTP等。

 

(2) 表示层

表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。

 

(3) 会话层

会话层就是负责建立、管理和终止表示层实体之间的通信会话。该层的通信由不同设备中的应用程序之间的服务请求和响应组成。      

 

(4) 传输层

传输层建立了主机端到端的链接,传输层的作用是为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等问题。该层向高层屏蔽了下层数据通信的细节,使高层用户看到的只是在两个传输实体间的一条主机到主机的、可由用户控制和设定的、可靠的数据通路。我们通常说的,TCP UDP就是在这一层。端口号既是这里的"端"。

 

(5) 网络层

本层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。

 

(6) 数据链路层 

将比特组合成字节,再将字节组合成帧,使用链路层地址 (以太网使用MAC地址)来访问介质,并进行差错检测。数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。MAC子层处理CSMA/CD算法、数据出错校验、成帧等;LLC子层定义了一些字段使上次协议能共享数据链路层。 在实际使用中,LLC子层并非必需的。

 

(7) 物理层 

实际最终信号的传输是通过物理层实现的。通过物理介质传输比特流。规定了电平、速度和电缆针脚。常用设备有(各种物理设备)集线器、中继器、调制解调器、网线、双绞线、同轴电缆。这些都是物理层的传输介质。

 

  • 2.3 对等通信

对等通信,为了使数据分组从源传送到目的地,源端OSI模型的每一层都必须与目的端的对等层进行通信,这种通信方式称为对等层通信。在每一层通信过程中,使用本层自己协议进行通信。

 

 

3. TCP/IP五层模型

TCP/IP协议中的应用层OSI中的第五层、第六层和第七层的功能,TCP/IP五层协议和OSI的七层协议对应关系如下:

 

 

4. IP

互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址(英语:IP Address),是分配给用户上网使用的网际协议(英语:Internet Protocol, IP)的设备的数字标签。常见的IP地址分为IPV4与IPV6两大类,但是也有其他不常用的小分类。

如:

IPv4: 192.168.10.30

IPv6: 1080:0:0:0:8:800:200C:417A

 

  • 4.1 IP地址类型

公有地址:

公有地址(Public address)由Inter NIC(Internet Network Information Center因特网信息中心)负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构,通过它直接访问因特网。

私有地址:

私有地址(Private address)属于非注册地址,专门为组织机构内部使用。

以下列出留用的内部私有地址

A类 10.0.0.0--10.255.255.255

B类 172.16.0.0--172.31.255.255

C类 192.168.0.0--192.168.255.255

Internet委员会定义了5种IP地址类型以适合不同容量的网络,即A类~E类,其中A、B、C3类由InternetNIC在全球范围内统一分配,D、E类为特殊地址。

 

  • 4.2 IPV6

在企业内部,IP冲突问题已不是新鲜话题,在区域之间,IP地址有限可能带来了安全隐忧或影响了冲浪速度;在更高层面,地址不足甚至严重制约了一个国家互联网的应用和发展。究其原因,大致有二:一方面,地址资源数量本身非常有限;另一方面,随着互联网技术的普及,更多智能终端要求连入互联网,这让原本有限的地址资源更加捉襟见肘。

如此,IPV6便应运而生。有人曾形象地比喻:"IPv6可以让地球上每一粒沙子都拥有一个IP地址。"互联网当前使用的主要是基于IPv4协议的32位地址,地址总容量近43亿个。而IPv6地址采用128位标识,数量为2的128次方,相当于IPv4地址空间的4次幂。更令人欣慰的是,IPv6具备方便寻址及支持即插即用等特性,能更好地支持物联网业务。

 

 

 

5. 端口
 

  • 5.1 概念

如果把IP地址比作一间房子 ,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:2^16)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0 到65535(2^16-1)。

 

  • 5.2 端口分类

(1) 周知端口(Well Known Ports)

周知端口是众所周知的端口号,范围从0到1023,其中80端口分配给www服务,21端口分配给FTP服务等。我们在地址栏里输入一个网址的时候是不必指定端口号的,因为在默认情况下www服务的端口是80。网络服务是可以使用其他端口号的,如果不是默认的端口号则应该在 地址栏上指定端口号,方法是在地址后面加上冒号":",再加上端口号。比如使用8080作为www服务的端口,则需要在地址栏里输入"网址:8080"。但是有些系统协议使用固定的端口号,它是不能被改变的,比如139 端口专门用于NetBIOS与TCP/IP之间的通信,不能手动改变。

(2) 动态端口(Dynamic Ports)

动态端口的范围是从49152到65535。之所以称为动态端口,是因为它 一般不固定分配某种服务,而是动态分配。

(3) 注册端口

端口1024到49151,分配给用户进程或应用程序。这些进程主要是用户选择安装的一些应用程序,而不是已经分配好了公认端口的常用程序。这些端口在没有被服务器资源占用的时候,可以用用户端动态选用为源端口。

 

  • 5.3 总结

(1) 在同一台电脑中端口不能重复,若重复,则报错端口冲突。

(2) 如果我们需要自定义端口号,建议使用10000以上的。

 

 

 

6. 协议

 

  • 6.1 概念

协议(protocol),网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么样建立连接、怎么样互相识别等。只有遵守这个约定,计算机之间才能相互通信交流。它的三要素是:语法、语义、时序。


网络协议,也可简称协议,通常由三要素组成:

  • (1) 语法:即数据与控制信息的结构或格式;
  • (2) 语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;
  • (3) 时序(同步),即事件实现顺序的详细说明。

 

  • 6.2 网络协议分类

物理层:以太网 · 调制解调器 · 电力线通信(PLC) · SONET/SDH · G.709 · 光导纤维 · 同轴电缆 · 双绞线等

数据链路层:Wi-Fi(IEEE 802.11) · WiMAX(IEEE 802.16) ·ATM · DTM · 令牌环 · 以太网 ·FDDI · 帧中继 · GPRS · EVDO ·HSPA · HDLC · PPP · L2TP ·PPTP · ISDN·STP · CSMA/CD等

网络层协议:IP (IPv4 · IPv6) · ICMP· ICMPv6·IGMP ·IS-IS · IPsec · ARP · RARP · RIP等

传输层协议:TCP · UDP · TLS · DCCP · SCTP · RSVP · OSPF 等

应用层协议:DHCP ·DNS · FTP · Gopher · HTTP· IMAP4 · IRC · NNTP · XMPP ·POP3 · SIP · SMTP ·SNMP · SSH ·TELNET · RPC · RTCP · RTP ·RTSP· SDP · SOAP · GTP · STUN · NTP· SSDP · BGP 等

 

如果按照OSI来分的话,应用层可以细分为如下协议:

第五层:会话层 RPC、SQL、NFS 、X WINDOWS、ASP

第六层:表示层 ASCLL、PICT、TIFF、JPEG、 MIDI、MPEG

第七层:应用层 HTTP、FTP、SNMP等

 

应用层协议:

  • HTTP - 超文本传输协议资源;
  • HTTPS - 用安全套接字层传送的超文本传输协议;
  • FTP - 文件传输协议;
  • POP3 - POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,是TCP/IP协议族中的一员(默认端口是110);
  • RPC - 远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。

 

传输层协议:

  • TCP - 面向连接(经历三次握手)、传输可靠(保证数据正确性,保证数据顺序)、用于传输大量数据(流模式)、速度慢,建立连接需要开销较多(时间,系统资源)。服务端和客户端;
  • UDP - 面向非连接、传输不可靠(丢包[数据丢失])、用于传输少量数据(数据报包模式)、速度快。发送端和接收端;
  • TLS - 安全传输层协议(TLS)用于在两个通信应用程序之间提供保密性和数据完整性;
  • RSVP -  RSVP是一种支持多媒体通信的传输协议,在无连接协议上提供端到端的实时传输服务,为特定的多媒体流提供端到端的QoS协商和控制功能,以减小网络传输延迟;

 

 

 

7. URI

统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。
互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。


在Java中,URI表示一个统一资源的标识符,不能用于定位任何资源,唯一的作用就是解析。而URL则包含一个可以打开到达该资源的输入流,可以简单理解URL是URI的特例。

 

所有URI,不管其是否为URL,需遵循形式:

scheme:[//authority][/path][?query][#fragment]

每部分描述如下:

  • scheme − 对于 URL, 是访问资源的协议名称;对其他URI,是分配标识符的规范的名称
  • authority − 可选的组成用户授权信息部分,主机及端口(可选)
  • path − 用于在scheme和authority内标识资源
  • query − 与路径一起的附加数据用于标识资源。对于url是查询字符串
  • fragment − 资源特定部分的可选标识符。

为了方便地识别特定的URI是否是URL,我们可以检查它的scheme。每个URL都必须从以下scheme开始:ftp、http、https、gopher、mailto、news、nntp、telnet、wais、file或prospero。如果不是以此开头,则不是URL。

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值