分享
 
 
 

Java Network Programming 笔记(1)

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

Java Network Programming 笔记

n5

一 网络基本概念

Chapter2 Basic Network Concepts

2.1 Networks

keywords: network, node, host, address, name, packet-switched, protocol

网络是可以或多或少实时地相互发送和接收数据的计算机和其他设备的集合。

网络上的每台机器被称作结点(node),大多数结点是计算机,但是打印机,路由器,桥,网关,哑终端和可口可乐机都可以是结点,但你通常只和其他计算机会话。

功能齐全的计算机结点被称作主机(host)。

每个网络结点有一个地址(address):唯一标识它的一系列字节。在不同的网络中地址分配方法同。以太网地址是附加在物理的以太网硬件上的。设备厂商要保证这些硬件的地址不重复。一台计算机的Internet地址通常由专门负责分配地址的组织分配。而这些组织可以分配的地址又是由该组织的ISP(Internet Service Provider)提供的。ISP从三个Internet地区性注册机构之一获得IP地址(Internet Protocol地址)。比如美洲和非洲的注册机构为ARIN(the American Registry for Internet Numbers)。地区性注册机构的地址又是由IANA(Internet Assigned Numbers Authority)分配的。

某些种类的网络中,结点可使用人类易辨认的名字。名字和地址的对应不是不变的。名字变了,地址可不变;地址变了,名字可不变。一个地址通常可有多个名字,一个名字也可以对应多个地址(虽然这样的情况很少)

所有现代计算机网络是包交换(packet-switched)网络。在网络上传输的数据被分成包,每个包都被独立处理。每个包都含有"谁发送了我"和"我要去哪儿"的信息。包交换的最大优点是可以同时进行很多交换,若干计算机可以共享一条电缆。

协议(protocol)是一组精确的规则集合,它定义了计算机之间如何通讯,包括:地址格式,数据如何分包等。公开发布的协议允许不同厂商的软件和设备相互通讯。比如web浏览器不用关心服务器是Unix工作站还是Windows box或者Mac机,因为服务器和浏览器都使用同样的平台无关的http协议交谈。

2.2 The Layers of a Network

标准TCP/IP四层模型:

Application Layer

Transport Layer (TCP,UDP)

InternetLayer (IP)

The Host-To-Network Layer (Ethernet,LocalTalk,FDDI...)

90%的Java网络编程处于应用层,只须同传输层对话。剩下的10%处于传输层,同应用层和网间网层对话。

应用层看起来是直接同其他host的应用层对话的,网络在两个应用层之间创建了一条逻辑链路。

2.2.1 The Host-to-Network Layer

(也称作link layer,data link layer, network-interface layer)

这一层定义了某个特定的网络接口,例如以太网卡,如何通过它的物理连接向本地网络或世界发送IP数据包。

物理层对Java是透明的。数据链路层对Java程序员没有直接影响。然而,你在应用层发送的数据可以优化以适应特定的数据链路层的本地包大小(the native packet size of a particular data link layer),这样性能上会有所提升。不过,不优化程序也正常运行。

2.2.2 The Internet Layer

在OSI模型中,Internet Layer对应于更一般化的名字network layer。一个network layer协议定义bits和bytes如何组织为packets,也定义了不同机器如何找到彼此的地址方案。Internet Protocol(IP)是应用最广泛的network layer协议,也是Java唯一理解的network layer协议。其他的network layer协议有NetWare网络上的IPX协议,Mac机上的AppleTalk协议,Windows上的NetBEUI协议。各种network layer协议对于底层是独立的,AppleTalk,IP,IPX和NetBEUI都可以被用于以太网,令牌环网或使用其他数据链路层协议的网络,而这些数据链路层协议本身也是可以运行在不同种类的物理层之上的。

internet layer传输的包称作datagrams,每个IP datagram包括一个20~60字节的头和最大65515字节的数据。(实际上多数IP datagram非常小)

IP数据包头的内容为:

4-bit版本号

4-bit头长度

1-byte type of service

2-byte datagram长度:包括头的长度

2-byte 标识号

3-bit flags

13-bit fragment offset

1-byte time-to-live(TTL)

1-byte protocol:TCP为6,UDP为17 (都是上一层传输层的协议)

2-byte 头校验和

4-byte 源地址

4-byte 目的地址

2.2.3 The Transport Layer

传输层负责保证所有的包正确的被收到,顺序正确,数据也正确。如果包丢失了,传输层要求发送者重发丢失的包。

传输层有两种协议,TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)。TCP保证包不丢失,内容和顺序都正确;UDP只保证接受到的包正确,不管是否有包丢失了或到达的包顺序是否正确。

2.2.4 The Application Layer

应用层向用户传送数据。下面三层一起解决了数据如何从一个计算机到达另一个;而应用层决定数据到达后如何处理。Java网络编程主要是在应用层。常见的应用层协议有:HTTP,SMTP,POP,FTP等。你的程序可以定义自己的应用层协议。

Domain Names: 域名系统(DNS:Domain Name System)将主机名解析为数字的Internet地址。Java程序使用java.net.InetAddress类

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有